Install necessary libraries¶
In [1]:
!pip install pandas numpy matplotlib seaborn scikit-learn nltk wordcloud kaggle geopandas plotly folium textblob tensorflow keras
^C
Requirement already satisfied: pandas in d:\anaconda\lib\site-packages (2.2.2)
Requirement already satisfied: numpy in d:\anaconda\lib\site-packages (1.26.4)
Requirement already satisfied: matplotlib in d:\anaconda\lib\site-packages (3.8.4)
Requirement already satisfied: seaborn in d:\anaconda\lib\site-packages (0.13.2)
Requirement already satisfied: scikit-learn in d:\anaconda\lib\site-packages (1.4.2)
Requirement already satisfied: nltk in d:\anaconda\lib\site-packages (3.8.1)
Collecting wordcloud
Using cached wordcloud-1.9.3-cp312-cp312-win_amd64.whl.metadata (3.5 kB)
Collecting kaggle
Using cached kaggle-1.6.17.tar.gz (82 kB)
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting geopandas
Using cached geopandas-1.0.1-py3-none-any.whl.metadata (2.2 kB)
Requirement already satisfied: plotly in d:\anaconda\lib\site-packages (5.22.0)
Collecting folium
Using cached folium-0.17.0-py2.py3-none-any.whl.metadata (3.8 kB)
Collecting textblob
Using cached textblob-0.18.0.post0-py3-none-any.whl.metadata (4.5 kB)
Collecting tensorflow
Using cached tensorflow-2.17.0-cp312-cp312-win_amd64.whl.metadata (3.2 kB)
Collecting keras
Using cached keras-3.5.0-py3-none-any.whl.metadata (5.8 kB)
Requirement already satisfied: python-dateutil>=2.8.2 in d:\anaconda\lib\site-packages (from pandas) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in d:\anaconda\lib\site-packages (from pandas) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in d:\anaconda\lib\site-packages (from pandas) (2023.3)
Requirement already satisfied: contourpy>=1.0.1 in d:\anaconda\lib\site-packages (from matplotlib) (1.2.0)
Requirement already satisfied: cycler>=0.10 in d:\anaconda\lib\site-packages (from matplotlib) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in d:\anaconda\lib\site-packages (from matplotlib) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in d:\anaconda\lib\site-packages (from matplotlib) (1.4.4)
Requirement already satisfied: packaging>=20.0 in d:\anaconda\lib\site-packages (from matplotlib) (23.2)
Requirement already satisfied: pillow>=8 in d:\anaconda\lib\site-packages (from matplotlib) (10.3.0)
Requirement already satisfied: pyparsing>=2.3.1 in d:\anaconda\lib\site-packages (from matplotlib) (3.0.9)
Requirement already satisfied: scipy>=1.6.0 in d:\anaconda\lib\site-packages (from scikit-learn) (1.13.1)
Requirement already satisfied: joblib>=1.2.0 in d:\anaconda\lib\site-packages (from scikit-learn) (1.4.2)
Requirement already satisfied: threadpoolctl>=2.0.0 in d:\anaconda\lib\site-packages (from scikit-learn) (2.2.0)
Requirement already satisfied: click in d:\anaconda\lib\site-packages (from nltk) (8.1.7)
Requirement already satisfied: regex>=2021.8.3 in d:\anaconda\lib\site-packages (from nltk) (2023.10.3)
Requirement already satisfied: tqdm in d:\anaconda\lib\site-packages (from nltk) (4.66.4)
Requirement already satisfied: six>=1.10 in d:\anaconda\lib\site-packages (from kaggle) (1.16.0)
Requirement already satisfied: certifi>=2023.7.22 in d:\anaconda\lib\site-packages (from kaggle) (2024.6.2)
Requirement already satisfied: requests in d:\anaconda\lib\site-packages (from kaggle) (2.32.2)
Requirement already satisfied: python-slugify in d:\anaconda\lib\site-packages (from kaggle) (5.0.2)
Requirement already satisfied: urllib3 in d:\anaconda\lib\site-packages (from kaggle) (2.2.2)
Requirement already satisfied: bleach in d:\anaconda\lib\site-packages (from kaggle) (4.1.0)
Collecting pyogrio>=0.7.2 (from geopandas)
Using cached pyogrio-0.9.0-cp312-cp312-win_amd64.whl.metadata (3.9 kB)
Collecting pyproj>=3.3.0 (from geopandas)
Using cached pyproj-3.6.1-cp312-cp312-win_amd64.whl.metadata (31 kB)
Collecting shapely>=2.0.0 (from geopandas)
Using cached shapely-2.0.6-cp312-cp312-win_amd64.whl.metadata (7.2 kB)
Requirement already satisfied: tenacity>=6.2.0 in d:\anaconda\lib\site-packages (from plotly) (8.2.2)
Collecting branca>=0.6.0 (from folium)
Using cached branca-0.7.2-py3-none-any.whl.metadata (1.5 kB)
Requirement already satisfied: jinja2>=2.9 in d:\anaconda\lib\site-packages (from folium) (3.1.4)
Requirement already satisfied: xyzservices in d:\anaconda\lib\site-packages (from folium) (2022.9.0)
Collecting tensorflow-intel==2.17.0 (from tensorflow)
Using cached tensorflow_intel-2.17.0-cp312-cp312-win_amd64.whl.metadata (5.0 kB)
Collecting absl-py>=1.0.0 (from tensorflow-intel==2.17.0->tensorflow)
Using cached absl_py-2.1.0-py3-none-any.whl.metadata (2.3 kB)
Collecting astunparse>=1.6.0 (from tensorflow-intel==2.17.0->tensorflow)
Using cached astunparse-1.6.3-py2.py3-none-any.whl.metadata (4.4 kB)
Collecting flatbuffers>=24.3.25 (from tensorflow-intel==2.17.0->tensorflow)
Using cached flatbuffers-24.3.25-py2.py3-none-any.whl.metadata (850 bytes)
Collecting gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 (from tensorflow-intel==2.17.0->tensorflow)
Using cached gast-0.6.0-py3-none-any.whl.metadata (1.3 kB)
Collecting google-pasta>=0.1.1 (from tensorflow-intel==2.17.0->tensorflow)
Using cached google_pasta-0.2.0-py3-none-any.whl.metadata (814 bytes)
Requirement already satisfied: h5py>=3.10.0 in d:\anaconda\lib\site-packages (from tensorflow-intel==2.17.0->tensorflow) (3.11.0)
Collecting libclang>=13.0.0 (from tensorflow-intel==2.17.0->tensorflow)
Using cached libclang-18.1.1-py2.py3-none-win_amd64.whl.metadata (5.3 kB)
Collecting ml-dtypes<0.5.0,>=0.3.1 (from tensorflow-intel==2.17.0->tensorflow)
Using cached ml_dtypes-0.4.0-cp312-cp312-win_amd64.whl.metadata (20 kB)
Collecting opt-einsum>=2.3.2 (from tensorflow-intel==2.17.0->tensorflow)
Using cached opt_einsum-3.3.0-py3-none-any.whl.metadata (6.5 kB)
Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.20.3 in d:\anaconda\lib\site-packages (from tensorflow-intel==2.17.0->tensorflow) (3.20.3)
Requirement already satisfied: setuptools in d:\anaconda\lib\site-packages (from tensorflow-intel==2.17.0->tensorflow) (69.5.1)
Collecting termcolor>=1.1.0 (from tensorflow-intel==2.17.0->tensorflow)
Using cached termcolor-2.4.0-py3-none-any.whl.metadata (6.1 kB)
Requirement already satisfied: typing-extensions>=3.6.6 in d:\anaconda\lib\site-packages (from tensorflow-intel==2.17.0->tensorflow) (4.11.0)
Requirement already satisfied: wrapt>=1.11.0 in d:\anaconda\lib\site-packages (from tensorflow-intel==2.17.0->tensorflow) (1.14.1)
Collecting grpcio<2.0,>=1.24.3 (from tensorflow-intel==2.17.0->tensorflow)
Using cached grpcio-1.66.1-cp312-cp312-win_amd64.whl.metadata (4.0 kB)
Collecting tensorboard<2.18,>=2.17 (from tensorflow-intel==2.17.0->tensorflow)
Using cached tensorboard-2.17.1-py3-none-any.whl.metadata (1.6 kB)
Requirement already satisfied: rich in d:\anaconda\lib\site-packages (from keras) (13.3.5)
Collecting namex (from keras)
Using cached namex-0.0.8-py3-none-any.whl.metadata (246 bytes)
Collecting optree (from keras)
Using cached optree-0.12.1-cp312-cp312-win_amd64.whl.metadata (48 kB)
Requirement already satisfied: MarkupSafe>=2.0 in d:\anaconda\lib\site-packages (from jinja2>=2.9->folium) (2.1.3)
Requirement already satisfied: charset-normalizer<4,>=2 in d:\anaconda\lib\site-packages (from requests->kaggle) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in d:\anaconda\lib\site-packages (from requests->kaggle) (3.7)
Requirement already satisfied: webencodings in d:\anaconda\lib\site-packages (from bleach->kaggle) (0.5.1)
Requirement already satisfied: colorama in d:\anaconda\lib\site-packages (from click->nltk) (0.4.6)
Requirement already satisfied: text-unidecode>=1.3 in d:\anaconda\lib\site-packages (from python-slugify->kaggle) (1.3)
Requirement already satisfied: markdown-it-py<3.0.0,>=2.2.0 in d:\anaconda\lib\site-packages (from rich->keras) (2.2.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in d:\anaconda\lib\site-packages (from rich->keras) (2.15.1)
Requirement already satisfied: wheel<1.0,>=0.23.0 in d:\anaconda\lib\site-packages (from astunparse>=1.6.0->tensorflow-intel==2.17.0->tensorflow) (0.43.0)
Requirement already satisfied: mdurl~=0.1 in d:\anaconda\lib\site-packages (from markdown-it-py<3.0.0,>=2.2.0->rich->keras) (0.1.0)
Requirement already satisfied: markdown>=2.6.8 in d:\anaconda\lib\site-packages (from tensorboard<2.18,>=2.17->tensorflow-intel==2.17.0->tensorflow) (3.4.1)
Collecting tensorboard-data-server<0.8.0,>=0.7.0 (from tensorboard<2.18,>=2.17->tensorflow-intel==2.17.0->tensorflow)
Using cached tensorboard_data_server-0.7.2-py3-none-any.whl.metadata (1.1 kB)
Requirement already satisfied: werkzeug>=1.0.1 in d:\anaconda\lib\site-packages (from tensorboard<2.18,>=2.17->tensorflow-intel==2.17.0->tensorflow) (3.0.3)
Using cached wordcloud-1.9.3-cp312-cp312-win_amd64.whl (301 kB)
Using cached geopandas-1.0.1-py3-none-any.whl (323 kB)
Using cached folium-0.17.0-py2.py3-none-any.whl (108 kB)
Using cached textblob-0.18.0.post0-py3-none-any.whl (626 kB)
Using cached tensorflow-2.17.0-cp312-cp312-win_amd64.whl (2.0 kB)
Downloading tensorflow_intel-2.17.0-cp312-cp312-win_amd64.whl (385.2 MB)
---------------------------------------- 0.0/385.2 MB ? eta -:--:--
---------------------------------------- 0.0/385.2 MB ? eta -:--:--
---------------------------------------- 0.0/385.2 MB ? eta -:--:--
---------------------------------------- 0.0/385.2 MB 186.2 kB/s eta 0:34:29
---------------------------------------- 0.1/385.2 MB 297.7 kB/s eta 0:21:34
---------------------------------------- 0.1/385.2 MB 467.6 kB/s eta 0:13:44
---------------------------------------- 0.2/385.2 MB 765.3 kB/s eta 0:08:23
---------------------------------------- 0.3/385.2 MB 999.0 kB/s eta 0:06:26
---------------------------------------- 0.5/385.2 MB 1.2 MB/s eta 0:05:28
---------------------------------------- 0.6/385.2 MB 1.4 MB/s eta 0:04:44
---------------------------------------- 0.7/385.2 MB 1.5 MB/s eta 0:04:23
---------------------------------------- 0.8/385.2 MB 1.5 MB/s eta 0:04:09
---------------------------------------- 1.0/385.2 MB 1.7 MB/s eta 0:03:41
---------------------------------------- 1.1/385.2 MB 1.8 MB/s eta 0:03:36
---------------------------------------- 1.2/385.2 MB 1.8 MB/s eta 0:03:29
---------------------------------------- 1.4/385.2 MB 1.9 MB/s eta 0:03:22
---------------------------------------- 1.5/385.2 MB 2.0 MB/s eta 0:03:16
---------------------------------------- 1.6/385.2 MB 2.0 MB/s eta 0:03:11
---------------------------------------- 1.7/385.2 MB 2.1 MB/s eta 0:03:07
---------------------------------------- 1.9/385.2 MB 2.1 MB/s eta 0:03:04
---------------------------------------- 2.0/385.2 MB 2.2 MB/s eta 0:02:59
---------------------------------------- 2.2/385.2 MB 2.2 MB/s eta 0:02:57
---------------------------------------- 2.3/385.2 MB 2.2 MB/s eta 0:02:54
---------------------------------------- 2.4/385.2 MB 2.2 MB/s eta 0:02:53
---------------------------------------- 2.5/385.2 MB 2.2 MB/s eta 0:02:52
---------------------------------------- 2.6/385.2 MB 2.2 MB/s eta 0:02:54
---------------------------------------- 2.7/385.2 MB 2.2 MB/s eta 0:02:56
---------------------------------------- 2.8/385.2 MB 2.2 MB/s eta 0:02:52
---------------------------------------- 2.9/385.2 MB 2.2 MB/s eta 0:02:54
---------------------------------------- 3.0/385.2 MB 2.2 MB/s eta 0:02:53
---------------------------------------- 3.1/385.2 MB 2.2 MB/s eta 0:02:55
---------------------------------------- 3.2/385.2 MB 2.2 MB/s eta 0:02:54
---------------------------------------- 3.3/385.2 MB 2.2 MB/s eta 0:02:56
---------------------------------------- 3.5/385.2 MB 2.2 MB/s eta 0:02:53
---------------------------------------- 3.6/385.2 MB 2.2 MB/s eta 0:02:52
---------------------------------------- 3.7/385.2 MB 2.2 MB/s eta 0:02:50
---------------------------------------- 3.9/385.2 MB 2.3 MB/s eta 0:02:49
---------------------------------------- 4.0/385.2 MB 2.3 MB/s eta 0:02:48
---------------------------------------- 4.1/385.2 MB 2.3 MB/s eta 0:02:47
---------------------------------------- 4.2/385.2 MB 2.3 MB/s eta 0:02:46
---------------------------------------- 4.4/385.2 MB 2.3 MB/s eta 0:02:46
---------------------------------------- 4.5/385.2 MB 2.3 MB/s eta 0:02:45
---------------------------------------- 4.6/385.2 MB 2.3 MB/s eta 0:02:45
---------------------------------------- 4.7/385.2 MB 2.3 MB/s eta 0:02:45
--------------------------------------- 4.9/385.2 MB 2.3 MB/s eta 0:02:44
--------------------------------------- 5.0/385.2 MB 2.3 MB/s eta 0:02:43
--------------------------------------- 5.1/385.2 MB 2.3 MB/s eta 0:02:43
--------------------------------------- 5.2/385.2 MB 2.3 MB/s eta 0:02:42
--------------------------------------- 5.3/385.2 MB 2.3 MB/s eta 0:02:43
--------------------------------------- 5.5/385.2 MB 2.4 MB/s eta 0:02:41
--------------------------------------- 5.6/385.2 MB 2.4 MB/s eta 0:02:41
--------------------------------------- 5.7/385.2 MB 2.4 MB/s eta 0:02:40
--------------------------------------- 5.9/385.2 MB 2.4 MB/s eta 0:02:40
--------------------------------------- 6.0/385.2 MB 2.4 MB/s eta 0:02:40
--------------------------------------- 6.1/385.2 MB 2.4 MB/s eta 0:02:39
--------------------------------------- 6.3/385.2 MB 2.4 MB/s eta 0:02:39
--------------------------------------- 6.4/385.2 MB 2.4 MB/s eta 0:02:38
--------------------------------------- 6.6/385.2 MB 2.4 MB/s eta 0:02:38
--------------------------------------- 6.8/385.2 MB 2.4 MB/s eta 0:02:36
--------------------------------------- 6.9/385.2 MB 2.4 MB/s eta 0:02:36
--------------------------------------- 7.0/385.2 MB 2.4 MB/s eta 0:02:36
--------------------------------------- 7.1/385.2 MB 2.4 MB/s eta 0:02:36
--------------------------------------- 7.2/385.2 MB 2.4 MB/s eta 0:02:36
--------------------------------------- 7.4/385.2 MB 2.4 MB/s eta 0:02:35
--------------------------------------- 7.5/385.2 MB 2.4 MB/s eta 0:02:35
--------------------------------------- 7.6/385.2 MB 2.4 MB/s eta 0:02:35
--------------------------------------- 7.7/385.2 MB 2.4 MB/s eta 0:02:35
--------------------------------------- 7.9/385.2 MB 2.4 MB/s eta 0:02:35
--------------------------------------- 8.0/385.2 MB 2.4 MB/s eta 0:02:35
--------------------------------------- 8.1/385.2 MB 2.5 MB/s eta 0:02:34
--------------------------------------- 8.3/385.2 MB 2.5 MB/s eta 0:02:33
--------------------------------------- 8.4/385.2 MB 2.5 MB/s eta 0:02:34
--------------------------------------- 8.5/385.2 MB 2.5 MB/s eta 0:02:33
--------------------------------------- 8.7/385.2 MB 2.5 MB/s eta 0:02:33
--------------------------------------- 8.8/385.2 MB 2.5 MB/s eta 0:02:32
--------------------------------------- 8.9/385.2 MB 2.5 MB/s eta 0:02:32
--------------------------------------- 9.0/385.2 MB 2.5 MB/s eta 0:02:32
--------------------------------------- 9.1/385.2 MB 2.5 MB/s eta 0:02:32
--------------------------------------- 9.3/385.2 MB 2.5 MB/s eta 0:02:32
--------------------------------------- 9.4/385.2 MB 2.5 MB/s eta 0:02:32
--------------------------------------- 9.5/385.2 MB 2.5 MB/s eta 0:02:32
--------------------------------------- 9.6/385.2 MB 2.5 MB/s eta 0:02:32
- -------------------------------------- 9.8/385.2 MB 2.5 MB/s eta 0:02:31
- -------------------------------------- 9.9/385.2 MB 2.5 MB/s eta 0:02:31
- -------------------------------------- 10.1/385.2 MB 2.5 MB/s eta 0:02:30
- -------------------------------------- 10.2/385.2 MB 2.5 MB/s eta 0:02:31
- -------------------------------------- 10.3/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 10.4/385.2 MB 2.6 MB/s eta 0:02:23
- -------------------------------------- 10.5/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 10.6/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 10.7/385.2 MB 2.6 MB/s eta 0:02:23
- -------------------------------------- 10.8/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 11.0/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 11.1/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 11.2/385.2 MB 2.6 MB/s eta 0:02:25
- -------------------------------------- 11.3/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 11.4/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 11.6/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 11.7/385.2 MB 2.6 MB/s eta 0:02:25
- -------------------------------------- 11.8/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 12.0/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 12.0/385.2 MB 2.6 MB/s eta 0:02:25
- -------------------------------------- 12.1/385.2 MB 2.6 MB/s eta 0:02:25
- -------------------------------------- 12.2/385.2 MB 2.6 MB/s eta 0:02:26
- -------------------------------------- 12.4/385.2 MB 2.6 MB/s eta 0:02:26
- -------------------------------------- 12.5/385.2 MB 2.6 MB/s eta 0:02:26
- -------------------------------------- 12.6/385.2 MB 2.6 MB/s eta 0:02:26
- -------------------------------------- 12.7/385.2 MB 2.6 MB/s eta 0:02:26
- -------------------------------------- 12.9/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 13.0/385.2 MB 2.6 MB/s eta 0:02:25
- -------------------------------------- 13.1/385.2 MB 2.6 MB/s eta 0:02:24
- -------------------------------------- 13.3/385.2 MB 2.6 MB/s eta 0:02:22
- -------------------------------------- 13.4/385.2 MB 2.6 MB/s eta 0:02:22
- -------------------------------------- 13.6/385.2 MB 2.6 MB/s eta 0:02:22
- -------------------------------------- 13.7/385.2 MB 2.6 MB/s eta 0:02:21
- -------------------------------------- 13.9/385.2 MB 2.6 MB/s eta 0:02:21
- -------------------------------------- 14.0/385.2 MB 2.6 MB/s eta 0:02:21
- -------------------------------------- 14.1/385.2 MB 2.6 MB/s eta 0:02:22
- -------------------------------------- 14.2/385.2 MB 2.6 MB/s eta 0:02:22
- -------------------------------------- 14.4/385.2 MB 2.6 MB/s eta 0:02:21
- -------------------------------------- 14.5/385.2 MB 2.6 MB/s eta 0:02:21
- -------------------------------------- 14.7/385.2 MB 2.6 MB/s eta 0:02:21
- -------------------------------------- 14.8/385.2 MB 2.7 MB/s eta 0:02:20
- -------------------------------------- 14.9/385.2 MB 2.7 MB/s eta 0:02:20
- -------------------------------------- 15.1/385.2 MB 2.7 MB/s eta 0:02:20
- -------------------------------------- 15.2/385.2 MB 2.7 MB/s eta 0:02:20
- -------------------------------------- 15.4/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 15.5/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 15.6/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 15.7/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 15.9/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 16.0/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 16.1/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 16.3/385.2 MB 2.7 MB/s eta 0:02:20
- -------------------------------------- 16.4/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 16.5/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 16.7/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 16.8/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 16.9/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 17.1/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 17.2/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 17.3/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 17.5/385.2 MB 2.7 MB/s eta 0:02:19
- -------------------------------------- 17.6/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 17.7/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 17.8/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 18.0/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 18.1/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 18.3/385.2 MB 2.7 MB/s eta 0:02:17
- -------------------------------------- 18.4/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 18.5/385.2 MB 2.7 MB/s eta 0:02:17
- -------------------------------------- 18.6/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 18.8/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 18.9/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 19.0/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 19.1/385.2 MB 2.7 MB/s eta 0:02:18
- -------------------------------------- 19.2/385.2 MB 2.7 MB/s eta 0:02:19
-- ------------------------------------- 19.4/385.2 MB 2.7 MB/s eta 0:02:17
-- ------------------------------------- 19.5/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 19.6/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 19.7/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 19.8/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 19.9/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 20.0/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 20.2/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 20.3/385.2 MB 2.6 MB/s eta 0:02:19
-- ------------------------------------- 20.4/385.2 MB 2.6 MB/s eta 0:02:19
-- ------------------------------------- 20.6/385.2 MB 2.6 MB/s eta 0:02:19
-- ------------------------------------- 20.7/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 20.8/385.2 MB 2.7 MB/s eta 0:02:17
-- ------------------------------------- 20.9/385.2 MB 2.7 MB/s eta 0:02:17
-- ------------------------------------- 21.1/385.2 MB 2.7 MB/s eta 0:02:17
-- ------------------------------------- 21.2/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 21.3/385.2 MB 2.7 MB/s eta 0:02:17
-- ------------------------------------- 21.4/385.2 MB 2.7 MB/s eta 0:02:17
-- ------------------------------------- 21.5/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 21.5/385.2 MB 2.7 MB/s eta 0:02:18
-- ------------------------------------- 21.6/385.2 MB 2.6 MB/s eta 0:02:20
-- ------------------------------------- 21.8/385.2 MB 2.6 MB/s eta 0:02:20
-- ------------------------------------- 21.9/385.2 MB 2.6 MB/s eta 0:02:20
-- ------------------------------------- 21.9/385.2 MB 2.6 MB/s eta 0:02:21
-- ------------------------------------- 22.0/385.2 MB 2.6 MB/s eta 0:02:21
-- ------------------------------------- 22.0/385.2 MB 2.5 MB/s eta 0:02:23
-- ------------------------------------- 22.0/385.2 MB 2.5 MB/s eta 0:02:24
-- ------------------------------------- 22.1/385.2 MB 2.5 MB/s eta 0:02:25
-- ------------------------------------- 22.2/385.2 MB 2.5 MB/s eta 0:02:25
-- ------------------------------------- 22.3/385.2 MB 2.5 MB/s eta 0:02:25
-- ------------------------------------- 22.5/385.2 MB 2.5 MB/s eta 0:02:25
-- ------------------------------------- 22.5/385.2 MB 2.5 MB/s eta 0:02:25
-- ------------------------------------- 22.5/385.2 MB 2.5 MB/s eta 0:02:26
-- ------------------------------------- 22.7/385.2 MB 2.5 MB/s eta 0:02:27
-- ------------------------------------- 22.8/385.2 MB 2.5 MB/s eta 0:02:27
-- ------------------------------------- 22.9/385.2 MB 2.5 MB/s eta 0:02:27
-- ------------------------------------- 23.0/385.2 MB 2.5 MB/s eta 0:02:28
-- ------------------------------------- 23.1/385.2 MB 2.5 MB/s eta 0:02:28
-- ------------------------------------- 23.2/385.2 MB 2.5 MB/s eta 0:02:28
-- ------------------------------------- 23.3/385.2 MB 2.5 MB/s eta 0:02:28
-- ------------------------------------- 23.5/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 23.6/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 23.8/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 23.9/385.2 MB 2.5 MB/s eta 0:02:28
-- ------------------------------------- 24.0/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 24.2/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 24.3/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 24.4/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 24.6/385.2 MB 2.5 MB/s eta 0:02:28
-- ------------------------------------- 24.7/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 24.8/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 24.9/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 25.1/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 25.2/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 25.3/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 25.4/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 25.6/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 25.7/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 25.8/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 26.0/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 26.1/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 26.2/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 26.4/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 26.5/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 26.6/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 26.8/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 26.9/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 27.0/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 27.2/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 27.3/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 27.4/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 27.6/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 27.7/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 27.8/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 28.0/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 28.1/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 28.2/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 28.3/385.2 MB 2.4 MB/s eta 0:02:27
-- ------------------------------------- 28.4/385.2 MB 2.4 MB/s eta 0:02:28
-- ------------------------------------- 28.5/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 28.6/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 28.7/385.2 MB 2.4 MB/s eta 0:02:29
-- ------------------------------------- 28.8/385.2 MB 2.4 MB/s eta 0:02:29
--- ------------------------------------ 28.9/385.2 MB 2.4 MB/s eta 0:02:30
--- ------------------------------------ 28.9/385.2 MB 2.4 MB/s eta 0:02:30
--- ------------------------------------ 29.1/385.2 MB 2.4 MB/s eta 0:02:31
--- ------------------------------------ 29.2/385.2 MB 2.4 MB/s eta 0:02:30
--- ------------------------------------ 29.3/385.2 MB 2.4 MB/s eta 0:02:30
--- ------------------------------------ 29.5/385.2 MB 2.4 MB/s eta 0:02:30
--- ------------------------------------ 29.6/385.2 MB 2.4 MB/s eta 0:02:30
--- ------------------------------------ 29.7/385.2 MB 2.4 MB/s eta 0:02:30
--- ------------------------------------ 29.8/385.2 MB 2.4 MB/s eta 0:02:29
--- ------------------------------------ 29.9/385.2 MB 2.4 MB/s eta 0:02:29
--- ------------------------------------ 30.1/385.2 MB 2.4 MB/s eta 0:02:29
--- ------------------------------------ 30.2/385.2 MB 2.4 MB/s eta 0:02:29
--- ------------------------------------ 30.3/385.2 MB 2.4 MB/s eta 0:02:28
--- ------------------------------------ 30.5/385.2 MB 2.4 MB/s eta 0:02:28
--- ------------------------------------ 30.6/385.2 MB 2.4 MB/s eta 0:02:28
--- ------------------------------------ 30.7/385.2 MB 2.4 MB/s eta 0:02:28
--- ------------------------------------ 31.0/385.2 MB 2.4 MB/s eta 0:02:28
--- ------------------------------------ 31.2/385.2 MB 2.4 MB/s eta 0:02:28
--- ------------------------------------ 31.3/385.2 MB 2.4 MB/s eta 0:02:29
--- ------------------------------------ 31.4/385.2 MB 2.4 MB/s eta 0:02:28
--- ------------------------------------ 31.5/385.2 MB 2.4 MB/s eta 0:02:28
--- ------------------------------------ 31.6/385.2 MB 2.4 MB/s eta 0:02:27
--- ------------------------------------ 31.7/385.2 MB 2.4 MB/s eta 0:02:25
--- ------------------------------------ 31.9/385.2 MB 2.4 MB/s eta 0:02:25
--- ------------------------------------ 32.0/385.2 MB 2.4 MB/s eta 0:02:26
--- ------------------------------------ 32.1/385.2 MB 2.4 MB/s eta 0:02:26
--- ------------------------------------ 32.2/385.2 MB 2.4 MB/s eta 0:02:25
--- ------------------------------------ 32.3/385.2 MB 2.5 MB/s eta 0:02:22
--- ------------------------------------ 32.4/385.2 MB 2.5 MB/s eta 0:02:21
--- ------------------------------------ 32.5/385.2 MB 2.5 MB/s eta 0:02:20
--- ------------------------------------ 32.7/385.2 MB 2.5 MB/s eta 0:02:20
--- ------------------------------------ 32.8/385.2 MB 2.6 MB/s eta 0:02:18
--- ------------------------------------ 32.9/385.2 MB 2.6 MB/s eta 0:02:18
--- ------------------------------------ 33.1/385.2 MB 2.5 MB/s eta 0:02:19
--- ------------------------------------ 33.2/385.2 MB 2.6 MB/s eta 0:02:18
--- ------------------------------------ 33.3/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 33.4/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 33.6/385.2 MB 2.6 MB/s eta 0:02:16
--- ------------------------------------ 33.7/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 33.8/385.2 MB 2.6 MB/s eta 0:02:16
--- ------------------------------------ 34.0/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 34.0/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 34.1/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 34.3/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 34.5/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 34.7/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 34.9/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 35.0/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 35.1/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 35.3/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 35.5/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 35.7/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 35.9/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 36.0/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 36.1/385.2 MB 2.6 MB/s eta 0:02:17
--- ------------------------------------ 36.2/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 36.3/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 36.5/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 36.6/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 36.8/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 36.9/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 37.0/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 37.2/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 37.3/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 37.4/385.2 MB 2.5 MB/s eta 0:02:18
--- ------------------------------------ 37.6/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 37.7/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 37.8/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 38.0/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 38.1/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 38.2/385.2 MB 2.5 MB/s eta 0:02:17
--- ------------------------------------ 38.3/385.2 MB 2.6 MB/s eta 0:02:16
--- ------------------------------------ 38.5/385.2 MB 2.5 MB/s eta 0:02:17
---- ----------------------------------- 38.6/385.2 MB 2.6 MB/s eta 0:02:15
---- ----------------------------------- 38.7/385.2 MB 2.6 MB/s eta 0:02:15
---- ----------------------------------- 38.9/385.2 MB 2.6 MB/s eta 0:02:15
---- ----------------------------------- 39.0/385.2 MB 2.6 MB/s eta 0:02:15
---- ----------------------------------- 39.1/385.2 MB 2.6 MB/s eta 0:02:14
---- ----------------------------------- 39.2/385.2 MB 2.6 MB/s eta 0:02:13
---- ----------------------------------- 39.4/385.2 MB 2.6 MB/s eta 0:02:13
---- ----------------------------------- 39.5/385.2 MB 2.6 MB/s eta 0:02:13
---- ----------------------------------- 39.6/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 39.8/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 39.9/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 40.0/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 40.2/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 40.3/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 40.5/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 40.6/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 40.7/385.2 MB 2.6 MB/s eta 0:02:12
---- ----------------------------------- 40.9/385.2 MB 2.6 MB/s eta 0:02:11
---- ----------------------------------- 41.0/385.2 MB 2.7 MB/s eta 0:02:10
---- ----------------------------------- 41.2/385.2 MB 2.6 MB/s eta 0:02:11
---- ----------------------------------- 41.3/385.2 MB 2.6 MB/s eta 0:02:11
---- ----------------------------------- 41.4/385.2 MB 2.7 MB/s eta 0:02:10
---- ----------------------------------- 41.6/385.2 MB 2.6 MB/s eta 0:02:11
---- ----------------------------------- 41.7/385.2 MB 2.6 MB/s eta 0:02:11
---- ----------------------------------- 41.8/385.2 MB 2.7 MB/s eta 0:02:10
---- ----------------------------------- 42.0/385.2 MB 2.7 MB/s eta 0:02:09
---- ----------------------------------- 42.1/385.2 MB 2.7 MB/s eta 0:02:09
---- ----------------------------------- 42.2/385.2 MB 2.7 MB/s eta 0:02:09
---- ----------------------------------- 42.4/385.2 MB 2.7 MB/s eta 0:02:09
---- ----------------------------------- 42.5/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 42.6/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 42.7/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 42.9/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 43.0/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 43.1/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 43.2/385.2 MB 2.7 MB/s eta 0:02:07
---- ----------------------------------- 43.4/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 43.5/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 43.7/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 43.8/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 44.0/385.2 MB 2.7 MB/s eta 0:02:08
---- ----------------------------------- 44.1/385.2 MB 2.7 MB/s eta 0:02:07
---- ----------------------------------- 44.3/385.2 MB 2.7 MB/s eta 0:02:07
---- ----------------------------------- 44.4/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 44.6/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 44.7/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 44.8/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 44.9/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 45.0/385.2 MB 2.7 MB/s eta 0:02:07
---- ----------------------------------- 45.1/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 45.3/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 45.4/385.2 MB 2.7 MB/s eta 0:02:07
---- ----------------------------------- 45.5/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 45.7/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 45.8/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 45.9/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 46.1/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 46.2/385.2 MB 2.7 MB/s eta 0:02:06
---- ----------------------------------- 46.3/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 46.5/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 46.6/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 46.7/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 46.9/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 47.0/385.2 MB 2.7 MB/s eta 0:02:04
---- ----------------------------------- 47.1/385.2 MB 2.7 MB/s eta 0:02:04
---- ----------------------------------- 47.3/385.2 MB 2.7 MB/s eta 0:02:04
---- ----------------------------------- 47.4/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 47.6/385.2 MB 2.7 MB/s eta 0:02:04
---- ----------------------------------- 47.7/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 47.9/385.2 MB 2.7 MB/s eta 0:02:04
---- ----------------------------------- 48.0/385.2 MB 2.7 MB/s eta 0:02:05
---- ----------------------------------- 48.1/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 48.3/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 48.4/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 48.5/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 48.6/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 48.8/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 48.9/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 49.0/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 49.1/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 49.3/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 49.4/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 49.6/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 49.7/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 49.8/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 50.0/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 50.1/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 50.3/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 50.4/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 50.5/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 50.7/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 50.8/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 50.9/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 51.1/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 51.2/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 51.3/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 51.5/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 51.6/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 51.8/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 51.9/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 52.0/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 52.1/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 52.2/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 52.4/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 52.5/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 52.6/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 52.7/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 52.8/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 53.0/385.2 MB 2.7 MB/s eta 0:02:04
----- ---------------------------------- 53.0/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 53.1/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 53.2/385.2 MB 2.6 MB/s eta 0:02:06
----- ---------------------------------- 53.4/385.2 MB 2.7 MB/s eta 0:02:05
----- ---------------------------------- 53.5/385.2 MB 2.7 MB/s eta 0:02:06
----- ---------------------------------- 53.5/385.2 MB 2.6 MB/s eta 0:02:06
----- ---------------------------------- 53.6/385.2 MB 2.7 MB/s eta 0:02:06
----- ---------------------------------- 53.7/385.2 MB 2.6 MB/s eta 0:02:07
----- ---------------------------------- 53.8/385.2 MB 2.6 MB/s eta 0:02:07
----- ---------------------------------- 53.9/385.2 MB 2.6 MB/s eta 0:02:06
----- ---------------------------------- 54.0/385.2 MB 2.6 MB/s eta 0:02:07
----- ---------------------------------- 54.1/385.2 MB 2.6 MB/s eta 0:02:08
----- ---------------------------------- 54.2/385.2 MB 2.6 MB/s eta 0:02:09
----- ---------------------------------- 54.3/385.2 MB 2.6 MB/s eta 0:02:09
----- ---------------------------------- 54.4/385.2 MB 2.6 MB/s eta 0:02:09
----- ---------------------------------- 54.5/385.2 MB 2.6 MB/s eta 0:02:10
----- ---------------------------------- 54.5/385.2 MB 2.5 MB/s eta 0:02:10
----- ---------------------------------- 54.7/385.2 MB 2.5 MB/s eta 0:02:11
----- ---------------------------------- 54.7/385.2 MB 2.5 MB/s eta 0:02:11
----- ---------------------------------- 54.8/385.2 MB 2.5 MB/s eta 0:02:12
----- ---------------------------------- 54.9/385.2 MB 2.5 MB/s eta 0:02:12
----- ---------------------------------- 55.0/385.2 MB 2.5 MB/s eta 0:02:12
----- ---------------------------------- 55.1/385.2 MB 2.5 MB/s eta 0:02:13
----- ---------------------------------- 55.2/385.2 MB 2.5 MB/s eta 0:02:13
----- ---------------------------------- 55.3/385.2 MB 2.5 MB/s eta 0:02:13
----- ---------------------------------- 55.4/385.2 MB 2.5 MB/s eta 0:02:13
----- ---------------------------------- 55.5/385.2 MB 2.5 MB/s eta 0:02:14
----- ---------------------------------- 55.6/385.2 MB 2.5 MB/s eta 0:02:14
----- ---------------------------------- 55.7/385.2 MB 2.5 MB/s eta 0:02:14
----- ---------------------------------- 55.8/385.2 MB 2.5 MB/s eta 0:02:14
----- ---------------------------------- 55.9/385.2 MB 2.5 MB/s eta 0:02:15
----- ---------------------------------- 56.0/385.2 MB 2.5 MB/s eta 0:02:15
----- ---------------------------------- 56.1/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 56.2/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 56.3/385.2 MB 2.4 MB/s eta 0:02:17
----- ---------------------------------- 56.4/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 56.6/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 56.7/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 56.8/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 56.9/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 57.0/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 57.2/385.2 MB 2.4 MB/s eta 0:02:16
----- ---------------------------------- 57.3/385.2 MB 2.4 MB/s eta 0:02:17
----- ---------------------------------- 57.4/385.2 MB 2.4 MB/s eta 0:02:17
----- ---------------------------------- 57.5/385.2 MB 2.4 MB/s eta 0:02:17
----- ---------------------------------- 57.7/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 57.8/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 57.9/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 58.1/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 58.2/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 58.4/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 58.5/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 58.6/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 58.8/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 58.9/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 59.0/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 59.2/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 59.3/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 59.4/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 59.5/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 59.7/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 59.8/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 59.9/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 60.0/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 60.1/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 60.3/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 60.4/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 60.5/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 60.7/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 60.8/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 60.9/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 61.0/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 61.2/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 61.3/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 61.4/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 61.6/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 61.7/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 61.8/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 62.0/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 62.1/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 62.2/385.2 MB 2.4 MB/s eta 0:02:16
------ --------------------------------- 62.3/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 62.5/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 62.6/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 62.7/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 62.9/385.2 MB 2.4 MB/s eta 0:02:15
------ --------------------------------- 63.0/385.2 MB 2.4 MB/s eta 0:02:14
------ --------------------------------- 63.1/385.2 MB 2.4 MB/s eta 0:02:14
------ --------------------------------- 63.2/385.2 MB 2.4 MB/s eta 0:02:14
------ --------------------------------- 63.3/385.2 MB 2.4 MB/s eta 0:02:13
------ --------------------------------- 63.5/385.2 MB 2.4 MB/s eta 0:02:13
------ --------------------------------- 63.6/385.2 MB 2.4 MB/s eta 0:02:13
------ --------------------------------- 63.7/385.2 MB 2.4 MB/s eta 0:02:12
------ --------------------------------- 63.8/385.2 MB 2.4 MB/s eta 0:02:12
------ --------------------------------- 63.9/385.2 MB 2.4 MB/s eta 0:02:12
------ --------------------------------- 64.1/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 64.2/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 64.2/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 64.3/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 64.4/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 64.6/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 64.7/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 64.7/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 64.8/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 64.9/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 65.0/385.2 MB 2.5 MB/s eta 0:02:11
------ --------------------------------- 65.1/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 65.2/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 65.3/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 65.4/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 65.5/385.2 MB 2.5 MB/s eta 0:02:09
------ --------------------------------- 65.6/385.2 MB 2.5 MB/s eta 0:02:09
------ --------------------------------- 65.7/385.2 MB 2.5 MB/s eta 0:02:08
------ --------------------------------- 65.8/385.2 MB 2.5 MB/s eta 0:02:09
------ --------------------------------- 65.9/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 66.0/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 66.1/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 66.3/385.2 MB 2.5 MB/s eta 0:02:09
------ --------------------------------- 66.3/385.2 MB 2.5 MB/s eta 0:02:09
------ --------------------------------- 66.4/385.2 MB 2.5 MB/s eta 0:02:09
------ --------------------------------- 66.5/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 66.6/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 66.7/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 66.8/385.2 MB 2.5 MB/s eta 0:02:10
------ --------------------------------- 66.9/385.2 MB 2.4 MB/s eta 0:02:11
------ --------------------------------- 67.0/385.2 MB 2.4 MB/s eta 0:02:11
------ --------------------------------- 67.1/385.2 MB 2.4 MB/s eta 0:02:11
------ --------------------------------- 67.2/385.2 MB 2.4 MB/s eta 0:02:11
------ --------------------------------- 67.3/385.2 MB 2.4 MB/s eta 0:02:12
------ --------------------------------- 67.4/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 67.5/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 67.6/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 67.7/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 67.8/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 67.9/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 68.0/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 68.2/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 68.3/385.2 MB 2.4 MB/s eta 0:02:14
------- -------------------------------- 68.4/385.2 MB 2.4 MB/s eta 0:02:14
------- -------------------------------- 68.5/385.2 MB 2.4 MB/s eta 0:02:14
------- -------------------------------- 68.6/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 68.8/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 68.9/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 69.0/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 69.2/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 69.3/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 69.4/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 69.6/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 69.7/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 69.8/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 70.0/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 70.1/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 70.2/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 70.3/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 70.5/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 70.6/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 70.7/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 70.9/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 71.0/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 71.1/385.2 MB 2.4 MB/s eta 0:02:11
------- -------------------------------- 71.3/385.2 MB 2.4 MB/s eta 0:02:11
------- -------------------------------- 71.4/385.2 MB 2.4 MB/s eta 0:02:11
------- -------------------------------- 71.5/385.2 MB 2.4 MB/s eta 0:02:11
------- -------------------------------- 71.6/385.2 MB 2.4 MB/s eta 0:02:11
------- -------------------------------- 71.7/385.2 MB 2.4 MB/s eta 0:02:11
------- -------------------------------- 71.8/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 72.0/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 72.1/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 72.2/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 72.3/385.2 MB 2.4 MB/s eta 0:02:12
------- -------------------------------- 72.4/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 72.5/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 72.6/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 72.7/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 72.8/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 73.0/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 73.1/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 73.2/385.2 MB 2.4 MB/s eta 0:02:13
------- -------------------------------- 73.3/385.2 MB 2.3 MB/s eta 0:02:13
------- -------------------------------- 73.4/385.2 MB 2.3 MB/s eta 0:02:13
------- -------------------------------- 73.6/385.2 MB 2.3 MB/s eta 0:02:14
------- -------------------------------- 73.7/385.2 MB 2.3 MB/s eta 0:02:13
------- -------------------------------- 73.8/385.2 MB 2.3 MB/s eta 0:02:14
------- -------------------------------- 73.9/385.2 MB 2.3 MB/s eta 0:02:14
------- -------------------------------- 74.0/385.2 MB 2.3 MB/s eta 0:02:14
------- -------------------------------- 74.1/385.2 MB 2.3 MB/s eta 0:02:13
------- -------------------------------- 74.2/385.2 MB 2.3 MB/s eta 0:02:14
------- -------------------------------- 74.3/385.2 MB 2.3 MB/s eta 0:02:13
------- -------------------------------- 74.3/385.2 MB 2.3 MB/s eta 0:02:15
------- -------------------------------- 74.4/385.2 MB 2.3 MB/s eta 0:02:16
------- -------------------------------- 74.4/385.2 MB 2.3 MB/s eta 0:02:16
------- -------------------------------- 74.5/385.2 MB 2.3 MB/s eta 0:02:16
------- -------------------------------- 74.5/385.2 MB 2.3 MB/s eta 0:02:18
------- -------------------------------- 74.5/385.2 MB 2.3 MB/s eta 0:02:18
------- -------------------------------- 74.5/385.2 MB 2.3 MB/s eta 0:02:18
------- -------------------------------- 74.5/385.2 MB 2.3 MB/s eta 0:02:18
------- -------------------------------- 74.5/385.2 MB 2.3 MB/s eta 0:02:18
------- -------------------------------- 74.5/385.2 MB 2.3 MB/s eta 0:02:18
------- -------------------------------- 74.6/385.2 MB 2.1 MB/s eta 0:02:26
------- -------------------------------- 74.6/385.2 MB 2.2 MB/s eta 0:02:25
------- -------------------------------- 74.8/385.2 MB 2.2 MB/s eta 0:02:24
------- -------------------------------- 75.1/385.2 MB 2.2 MB/s eta 0:02:22
------- -------------------------------- 75.1/385.2 MB 2.2 MB/s eta 0:02:22
------- -------------------------------- 75.1/385.2 MB 2.2 MB/s eta 0:02:24
------- -------------------------------- 75.1/385.2 MB 2.2 MB/s eta 0:02:24
------- -------------------------------- 75.2/385.2 MB 2.1 MB/s eta 0:02:25
------- -------------------------------- 75.3/385.2 MB 2.1 MB/s eta 0:02:26
------- -------------------------------- 75.3/385.2 MB 2.1 MB/s eta 0:02:27
------- -------------------------------- 75.3/385.2 MB 2.1 MB/s eta 0:02:27
------- -------------------------------- 75.3/385.2 MB 2.1 MB/s eta 0:02:30
------- -------------------------------- 75.3/385.2 MB 2.1 MB/s eta 0:02:30
------- -------------------------------- 75.3/385.2 MB 2.0 MB/s eta 0:02:32
------- -------------------------------- 75.6/385.2 MB 2.1 MB/s eta 0:02:29
------- -------------------------------- 75.6/385.2 MB 2.1 MB/s eta 0:02:29
------- -------------------------------- 75.6/385.2 MB 2.1 MB/s eta 0:02:29
------- -------------------------------- 75.6/385.2 MB 2.1 MB/s eta 0:02:29
------- -------------------------------- 75.8/385.2 MB 2.0 MB/s eta 0:02:33
------- -------------------------------- 75.8/385.2 MB 2.0 MB/s eta 0:02:34
------- -------------------------------- 75.9/385.2 MB 2.0 MB/s eta 0:02:34
------- -------------------------------- 76.1/385.2 MB 2.0 MB/s eta 0:02:33
------- -------------------------------- 76.2/385.2 MB 2.0 MB/s eta 0:02:32
------- -------------------------------- 76.3/385.2 MB 2.0 MB/s eta 0:02:32
------- -------------------------------- 76.4/385.2 MB 2.0 MB/s eta 0:02:32
------- -------------------------------- 76.5/385.2 MB 2.0 MB/s eta 0:02:33
------- -------------------------------- 76.6/385.2 MB 2.0 MB/s eta 0:02:32
------- -------------------------------- 76.7/385.2 MB 2.0 MB/s eta 0:02:32
------- -------------------------------- 76.8/385.2 MB 2.0 MB/s eta 0:02:31
------- -------------------------------- 76.9/385.2 MB 2.1 MB/s eta 0:02:31
------- -------------------------------- 77.0/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 77.1/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 77.3/385.2 MB 2.1 MB/s eta 0:02:31
-------- ------------------------------- 77.4/385.2 MB 2.1 MB/s eta 0:02:30
-------- ------------------------------- 77.5/385.2 MB 2.1 MB/s eta 0:02:30
-------- ------------------------------- 77.6/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 77.7/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 77.8/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 77.9/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 78.0/385.2 MB 2.1 MB/s eta 0:02:30
-------- ------------------------------- 78.1/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 78.2/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 78.3/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 78.4/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 78.6/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 78.7/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 78.8/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 78.9/385.2 MB 2.1 MB/s eta 0:02:30
-------- ------------------------------- 79.0/385.2 MB 2.1 MB/s eta 0:02:30
-------- ------------------------------- 79.1/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 79.3/385.2 MB 2.1 MB/s eta 0:02:30
-------- ------------------------------- 79.4/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 79.5/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 79.6/385.2 MB 2.1 MB/s eta 0:02:29
-------- ------------------------------- 79.7/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 79.9/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 80.0/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 80.1/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 80.2/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 80.3/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 80.4/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 80.5/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 80.6/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 80.7/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 80.9/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 81.0/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 81.1/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 81.3/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 81.4/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 81.5/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 81.6/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 81.8/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 81.9/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 82.0/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 82.2/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 82.3/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 82.4/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 82.5/385.2 MB 2.0 MB/s eta 0:02:30
-------- ------------------------------- 82.5/385.2 MB 2.0 MB/s eta 0:02:33
-------- ------------------------------- 82.6/385.2 MB 2.0 MB/s eta 0:02:33
-------- ------------------------------- 82.7/385.2 MB 2.0 MB/s eta 0:02:33
-------- ------------------------------- 82.8/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 82.9/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 83.0/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 83.1/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 83.2/385.2 MB 2.0 MB/s eta 0:02:33
-------- ------------------------------- 83.4/385.2 MB 2.0 MB/s eta 0:02:33
-------- ------------------------------- 83.5/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 83.6/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 83.7/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 83.8/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 83.9/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 84.1/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 84.2/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 84.3/385.2 MB 2.0 MB/s eta 0:02:32
-------- ------------------------------- 84.5/385.2 MB 2.0 MB/s eta 0:02:31
-------- ------------------------------- 84.6/385.2 MB 2.0 MB/s eta 0:02:28
-------- ------------------------------- 84.7/385.2 MB 2.1 MB/s eta 0:02:25
-------- ------------------------------- 84.8/385.2 MB 2.2 MB/s eta 0:02:19
-------- ------------------------------- 85.0/385.2 MB 2.2 MB/s eta 0:02:18
-------- ------------------------------- 85.1/385.2 MB 2.2 MB/s eta 0:02:18
-------- ------------------------------- 85.2/385.2 MB 2.2 MB/s eta 0:02:18
-------- ------------------------------- 85.3/385.2 MB 2.2 MB/s eta 0:02:16
-------- ------------------------------- 85.4/385.2 MB 2.2 MB/s eta 0:02:16
-------- ------------------------------- 85.5/385.2 MB 2.3 MB/s eta 0:02:11
-------- ------------------------------- 85.6/385.2 MB 2.3 MB/s eta 0:02:09
-------- ------------------------------- 85.8/385.2 MB 2.3 MB/s eta 0:02:11
-------- ------------------------------- 85.9/385.2 MB 2.4 MB/s eta 0:02:06
-------- ------------------------------- 86.0/385.2 MB 2.4 MB/s eta 0:02:06
-------- ------------------------------- 86.2/385.2 MB 2.4 MB/s eta 0:02:05
-------- ------------------------------- 86.3/385.2 MB 2.4 MB/s eta 0:02:05
-------- ------------------------------- 86.4/385.2 MB 2.4 MB/s eta 0:02:05
-------- ------------------------------- 86.6/385.2 MB 2.4 MB/s eta 0:02:04
--------- ------------------------------ 86.7/385.2 MB 2.4 MB/s eta 0:02:04
--------- ------------------------------ 86.8/385.2 MB 2.4 MB/s eta 0:02:04
--------- ------------------------------ 87.0/385.2 MB 2.4 MB/s eta 0:02:03
--------- ------------------------------ 87.0/385.2 MB 2.4 MB/s eta 0:02:03
--------- ------------------------------ 87.2/385.2 MB 2.4 MB/s eta 0:02:03
--------- ------------------------------ 87.3/385.2 MB 2.4 MB/s eta 0:02:03
--------- ------------------------------ 87.4/385.2 MB 2.4 MB/s eta 0:02:03
--------- ------------------------------ 87.6/385.2 MB 2.4 MB/s eta 0:02:02
--------- ------------------------------ 87.7/385.2 MB 2.4 MB/s eta 0:02:02
--------- ------------------------------ 87.8/385.2 MB 2.5 MB/s eta 0:02:02
--------- ------------------------------ 87.9/385.2 MB 2.5 MB/s eta 0:02:01
--------- ------------------------------ 88.1/385.2 MB 2.5 MB/s eta 0:02:02
--------- ------------------------------ 88.2/385.2 MB 2.5 MB/s eta 0:02:01
--------- ------------------------------ 88.3/385.2 MB 2.5 MB/s eta 0:02:01
--------- ------------------------------ 88.4/385.2 MB 2.5 MB/s eta 0:02:01
--------- ------------------------------ 88.5/385.2 MB 2.5 MB/s eta 0:02:00
--------- ------------------------------ 88.6/385.2 MB 2.5 MB/s eta 0:02:01
--------- ------------------------------ 88.8/385.2 MB 2.5 MB/s eta 0:02:00
--------- ------------------------------ 88.9/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 89.0/385.2 MB 2.5 MB/s eta 0:02:00
--------- ------------------------------ 89.1/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 89.3/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 89.4/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 89.5/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 89.7/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 89.8/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 89.9/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 90.0/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 90.2/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 90.2/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 90.4/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 90.4/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 90.5/385.2 MB 2.5 MB/s eta 0:02:00
--------- ------------------------------ 90.6/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 90.7/385.2 MB 2.5 MB/s eta 0:02:00
--------- ------------------------------ 90.8/385.2 MB 2.5 MB/s eta 0:02:00
--------- ------------------------------ 90.9/385.2 MB 2.5 MB/s eta 0:02:00
--------- ------------------------------ 90.9/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 91.0/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 91.1/385.2 MB 2.4 MB/s eta 0:02:02
--------- ------------------------------ 91.1/385.2 MB 2.4 MB/s eta 0:02:03
--------- ------------------------------ 91.2/385.2 MB 2.4 MB/s eta 0:02:04
--------- ------------------------------ 91.3/385.2 MB 2.4 MB/s eta 0:02:03
--------- ------------------------------ 91.3/385.2 MB 2.4 MB/s eta 0:02:04
--------- ------------------------------ 91.4/385.2 MB 2.4 MB/s eta 0:02:05
--------- ------------------------------ 91.5/385.2 MB 2.4 MB/s eta 0:02:05
--------- ------------------------------ 91.6/385.2 MB 2.4 MB/s eta 0:02:05
--------- ------------------------------ 91.8/385.2 MB 2.4 MB/s eta 0:02:05
--------- ------------------------------ 91.9/385.2 MB 2.4 MB/s eta 0:02:05
--------- ------------------------------ 92.0/385.2 MB 2.4 MB/s eta 0:02:05
--------- ------------------------------ 92.1/385.2 MB 2.4 MB/s eta 0:02:04
--------- ------------------------------ 92.3/385.2 MB 2.4 MB/s eta 0:02:05
--------- ------------------------------ 92.4/385.2 MB 2.4 MB/s eta 0:02:05
--------- ------------------------------ 92.6/385.2 MB 2.4 MB/s eta 0:02:04
--------- ------------------------------ 92.7/385.2 MB 2.4 MB/s eta 0:02:04
--------- ------------------------------ 92.8/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 92.9/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 93.1/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 93.2/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 93.3/385.2 MB 2.4 MB/s eta 0:02:00
--------- ------------------------------ 93.4/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 93.6/385.2 MB 2.4 MB/s eta 0:02:00
--------- ------------------------------ 93.7/385.2 MB 2.4 MB/s eta 0:02:00
--------- ------------------------------ 93.8/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 94.0/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 94.1/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 94.2/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 94.3/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 94.5/385.2 MB 2.5 MB/s eta 0:01:59
--------- ------------------------------ 94.6/385.2 MB 2.4 MB/s eta 0:01:59
--------- ------------------------------ 94.7/385.2 MB 2.4 MB/s eta 0:01:59
--------- ------------------------------ 94.8/385.2 MB 2.4 MB/s eta 0:01:59
--------- ------------------------------ 94.9/385.2 MB 2.4 MB/s eta 0:01:59
--------- ------------------------------ 95.1/385.2 MB 2.4 MB/s eta 0:01:59
--------- ------------------------------ 95.2/385.2 MB 2.4 MB/s eta 0:02:00
--------- ------------------------------ 95.2/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 95.2/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 95.3/385.2 MB 2.4 MB/s eta 0:02:02
--------- ------------------------------ 95.5/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 95.6/385.2 MB 2.4 MB/s eta 0:02:00
--------- ------------------------------ 95.7/385.2 MB 2.4 MB/s eta 0:02:00
--------- ------------------------------ 95.8/385.2 MB 2.4 MB/s eta 0:02:00
--------- ------------------------------ 95.9/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 96.1/385.2 MB 2.4 MB/s eta 0:02:01
--------- ------------------------------ 96.2/385.2 MB 2.4 MB/s eta 0:02:01
---------- ----------------------------- 96.3/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 96.5/385.2 MB 2.4 MB/s eta 0:02:01
---------- ----------------------------- 96.6/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 96.7/385.2 MB 2.4 MB/s eta 0:02:01
---------- ----------------------------- 96.8/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 97.0/385.2 MB 2.4 MB/s eta 0:02:01
---------- ----------------------------- 97.1/385.2 MB 2.4 MB/s eta 0:02:01
---------- ----------------------------- 97.2/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 97.4/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 97.5/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 97.6/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 97.8/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 97.9/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 98.0/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 98.1/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 98.3/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 98.4/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 98.5/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 98.6/385.2 MB 2.4 MB/s eta 0:02:00
---------- ----------------------------- 98.8/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 98.9/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 99.0/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 99.2/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 99.3/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 99.5/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 99.6/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 99.7/385.2 MB 2.4 MB/s eta 0:01:58
---------- ----------------------------- 99.8/385.2 MB 2.4 MB/s eta 0:01:59
---------- ----------------------------- 100.0/385.2 MB 2.4 MB/s eta 0:01:58
---------- ----------------------------- 100.1/385.2 MB 2.4 MB/s eta 0:01:58
---------- ----------------------------- 100.2/385.2 MB 2.4 MB/s eta 0:01:58
---------- ----------------------------- 100.4/385.2 MB 2.4 MB/s eta 0:01:58
---------- ----------------------------- 100.5/385.2 MB 2.4 MB/s eta 0:01:58
---------- ----------------------------- 100.6/385.2 MB 2.4 MB/s eta 0:01:57
---------- ----------------------------- 100.8/385.2 MB 2.5 MB/s eta 0:01:56
---------- ----------------------------- 100.9/385.2 MB 2.5 MB/s eta 0:01:55
---------- ----------------------------- 101.0/385.2 MB 2.5 MB/s eta 0:01:55
---------- ----------------------------- 101.2/385.2 MB 2.5 MB/s eta 0:01:53
---------- ----------------------------- 101.3/385.2 MB 2.5 MB/s eta 0:01:53
---------- ----------------------------- 101.4/385.2 MB 2.6 MB/s eta 0:01:51
---------- ----------------------------- 101.6/385.2 MB 2.6 MB/s eta 0:01:49
---------- ----------------------------- 101.7/385.2 MB 2.6 MB/s eta 0:01:48
---------- ----------------------------- 101.8/385.2 MB 2.6 MB/s eta 0:01:48
---------- ----------------------------- 102.0/385.2 MB 2.6 MB/s eta 0:01:48
---------- ----------------------------- 102.1/385.2 MB 2.6 MB/s eta 0:01:48
---------- ----------------------------- 102.2/385.2 MB 2.6 MB/s eta 0:01:48
---------- ----------------------------- 102.4/385.2 MB 2.6 MB/s eta 0:01:48
---------- ----------------------------- 102.5/385.2 MB 2.6 MB/s eta 0:01:48
---------- ----------------------------- 102.6/385.2 MB 2.6 MB/s eta 0:01:48
---------- ----------------------------- 102.8/385.2 MB 2.6 MB/s eta 0:01:47
---------- ----------------------------- 102.9/385.2 MB 2.6 MB/s eta 0:01:47
---------- ----------------------------- 103.1/385.2 MB 2.7 MB/s eta 0:01:47
---------- ----------------------------- 103.2/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 103.3/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 103.4/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 103.6/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 103.7/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 103.9/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 104.0/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 104.1/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 104.3/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 104.4/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 104.5/385.2 MB 2.7 MB/s eta 0:01:46
---------- ----------------------------- 104.6/385.2 MB 2.7 MB/s eta 0:01:45
---------- ----------------------------- 104.8/385.2 MB 2.7 MB/s eta 0:01:45
---------- ----------------------------- 104.9/385.2 MB 2.7 MB/s eta 0:01:45
---------- ----------------------------- 105.1/385.2 MB 2.7 MB/s eta 0:01:45
---------- ----------------------------- 105.2/385.2 MB 2.7 MB/s eta 0:01:45
---------- ----------------------------- 105.3/385.2 MB 2.7 MB/s eta 0:01:45
---------- ----------------------------- 105.4/385.2 MB 2.7 MB/s eta 0:01:43
---------- ----------------------------- 105.6/385.2 MB 2.8 MB/s eta 0:01:42
---------- ----------------------------- 105.7/385.2 MB 2.7 MB/s eta 0:01:43
---------- ----------------------------- 105.9/385.2 MB 2.8 MB/s eta 0:01:42
----------- ---------------------------- 106.0/385.2 MB 2.8 MB/s eta 0:01:42
----------- ---------------------------- 106.1/385.2 MB 2.8 MB/s eta 0:01:42
----------- ---------------------------- 106.3/385.2 MB 2.8 MB/s eta 0:01:41
----------- ---------------------------- 106.4/385.2 MB 2.8 MB/s eta 0:01:41
----------- ---------------------------- 106.5/385.2 MB 2.8 MB/s eta 0:01:41
----------- ---------------------------- 106.7/385.2 MB 2.8 MB/s eta 0:01:41
----------- ---------------------------- 106.8/385.2 MB 2.8 MB/s eta 0:01:40
----------- ---------------------------- 106.9/385.2 MB 2.8 MB/s eta 0:01:41
----------- ---------------------------- 107.0/385.2 MB 2.8 MB/s eta 0:01:41
----------- ---------------------------- 107.2/385.2 MB 2.8 MB/s eta 0:01:40
----------- ---------------------------- 107.3/385.2 MB 2.8 MB/s eta 0:01:40
----------- ---------------------------- 107.5/385.2 MB 2.8 MB/s eta 0:01:41
----------- ---------------------------- 107.6/385.2 MB 2.8 MB/s eta 0:01:40
----------- ---------------------------- 107.7/385.2 MB 2.8 MB/s eta 0:01:40
----------- ---------------------------- 107.9/385.2 MB 2.8 MB/s eta 0:01:40
----------- ---------------------------- 108.0/385.2 MB 2.8 MB/s eta 0:01:40
----------- ---------------------------- 108.1/385.2 MB 2.8 MB/s eta 0:01:40
----------- ---------------------------- 108.3/385.2 MB 2.8 MB/s eta 0:01:39
----------- ---------------------------- 108.4/385.2 MB 2.8 MB/s eta 0:01:39
----------- ---------------------------- 108.5/385.2 MB 2.8 MB/s eta 0:01:39
----------- ---------------------------- 108.7/385.2 MB 2.8 MB/s eta 0:01:39
----------- ---------------------------- 108.8/385.2 MB 2.8 MB/s eta 0:01:39
----------- ---------------------------- 108.9/385.2 MB 2.8 MB/s eta 0:01:39
----------- ---------------------------- 109.0/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 109.2/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 109.3/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 109.5/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 109.6/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 109.7/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 109.9/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 110.0/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 110.1/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 110.2/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 110.4/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 110.5/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 110.6/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 110.8/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 110.9/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 111.0/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 111.2/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 111.3/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 111.4/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 111.6/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 111.7/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 111.8/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 112.0/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 112.1/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 112.2/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 112.4/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 112.5/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 112.6/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 112.8/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 112.9/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 113.0/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 113.2/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 113.3/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 113.4/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 113.6/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 113.7/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 113.8/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 114.0/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 114.1/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 114.2/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 114.3/385.2 MB 2.8 MB/s eta 0:01:37
----------- ---------------------------- 114.4/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 114.6/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 114.7/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 114.8/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 114.9/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 115.0/385.2 MB 2.8 MB/s eta 0:01:38
----------- ---------------------------- 115.0/385.2 MB 2.7 MB/s eta 0:01:39
----------- ---------------------------- 115.2/385.2 MB 2.7 MB/s eta 0:01:39
----------- ---------------------------- 115.3/385.2 MB 2.7 MB/s eta 0:01:39
----------- ---------------------------- 115.4/385.2 MB 2.7 MB/s eta 0:01:40
----------- ---------------------------- 115.5/385.2 MB 2.7 MB/s eta 0:01:39
------------ --------------------------- 115.6/385.2 MB 2.7 MB/s eta 0:01:39
------------ --------------------------- 115.8/385.2 MB 2.7 MB/s eta 0:01:39
------------ --------------------------- 115.9/385.2 MB 2.7 MB/s eta 0:01:39
------------ --------------------------- 116.0/385.2 MB 2.7 MB/s eta 0:01:40
------------ --------------------------- 116.2/385.2 MB 2.7 MB/s eta 0:01:40
------------ --------------------------- 116.3/385.2 MB 2.7 MB/s eta 0:01:39
------------ --------------------------- 116.4/385.2 MB 2.7 MB/s eta 0:01:39
------------ --------------------------- 116.6/385.2 MB 2.7 MB/s eta 0:01:39
------------ --------------------------- 116.7/385.2 MB 2.7 MB/s eta 0:01:40
------------ --------------------------- 116.8/385.2 MB 2.7 MB/s eta 0:01:39
------------ --------------------------- 116.9/385.2 MB 2.7 MB/s eta 0:01:40
------------ --------------------------- 117.0/385.2 MB 2.7 MB/s eta 0:01:40
------------ --------------------------- 117.1/385.2 MB 2.7 MB/s eta 0:01:40
------------ --------------------------- 117.2/385.2 MB 2.7 MB/s eta 0:01:41
------------ --------------------------- 117.3/385.2 MB 2.7 MB/s eta 0:01:40
------------ --------------------------- 117.4/385.2 MB 2.7 MB/s eta 0:01:42
------------ --------------------------- 117.5/385.2 MB 2.7 MB/s eta 0:01:41
------------ --------------------------- 117.6/385.2 MB 2.6 MB/s eta 0:01:42
------------ --------------------------- 117.7/385.2 MB 2.6 MB/s eta 0:01:43
------------ --------------------------- 117.8/385.2 MB 2.6 MB/s eta 0:01:43
------------ --------------------------- 117.9/385.2 MB 2.6 MB/s eta 0:01:43
------------ --------------------------- 118.0/385.2 MB 2.6 MB/s eta 0:01:43
------------ --------------------------- 118.1/385.2 MB 2.6 MB/s eta 0:01:43
------------ --------------------------- 118.2/385.2 MB 2.6 MB/s eta 0:01:43
------------ --------------------------- 118.4/385.2 MB 2.6 MB/s eta 0:01:43
------------ --------------------------- 118.4/385.2 MB 2.6 MB/s eta 0:01:44
------------ --------------------------- 118.6/385.2 MB 2.6 MB/s eta 0:01:44
------------ --------------------------- 118.7/385.2 MB 2.6 MB/s eta 0:01:44
------------ --------------------------- 118.7/385.2 MB 2.6 MB/s eta 0:01:44
------------ --------------------------- 118.8/385.2 MB 2.6 MB/s eta 0:01:45
------------ --------------------------- 118.9/385.2 MB 2.5 MB/s eta 0:01:45
------------ --------------------------- 119.0/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 119.1/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 119.1/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 119.2/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 119.3/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 119.4/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 119.6/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 119.7/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 119.8/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 120.0/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 120.1/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 120.2/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 120.4/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 120.5/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 120.6/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 120.8/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 120.9/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 121.0/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 121.1/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 121.3/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 121.4/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 121.5/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 121.7/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 121.8/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 121.9/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 122.1/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 122.2/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 122.3/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 122.4/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 122.6/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 122.7/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 122.8/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 123.0/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 123.1/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 123.2/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 123.4/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 123.5/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 123.6/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 123.8/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 123.9/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 124.0/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 124.1/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 124.2/385.2 MB 2.5 MB/s eta 0:01:47
------------ --------------------------- 124.3/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 124.5/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 124.6/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 124.7/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 124.8/385.2 MB 2.5 MB/s eta 0:01:46
------------ --------------------------- 125.0/385.2 MB 2.5 MB/s eta 0:01:45
------------ --------------------------- 125.1/385.2 MB 2.5 MB/s eta 0:01:45
------------- -------------------------- 125.2/385.2 MB 2.5 MB/s eta 0:01:45
------------- -------------------------- 125.3/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 125.5/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 125.6/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 125.7/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 125.8/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 126.0/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 126.1/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 126.2/385.2 MB 2.5 MB/s eta 0:01:43
------------- -------------------------- 126.4/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 126.5/385.2 MB 2.5 MB/s eta 0:01:43
------------- -------------------------- 126.6/385.2 MB 2.5 MB/s eta 0:01:43
------------- -------------------------- 126.8/385.2 MB 2.5 MB/s eta 0:01:44
------------- -------------------------- 126.9/385.2 MB 2.5 MB/s eta 0:01:43
------------- -------------------------- 127.0/385.2 MB 2.5 MB/s eta 0:01:43
------------- -------------------------- 127.2/385.2 MB 2.5 MB/s eta 0:01:43
------------- -------------------------- 127.3/385.2 MB 2.5 MB/s eta 0:01:42
------------- -------------------------- 127.4/385.2 MB 2.5 MB/s eta 0:01:42
------------- -------------------------- 127.6/385.2 MB 2.6 MB/s eta 0:01:41
------------- -------------------------- 127.7/385.2 MB 2.6 MB/s eta 0:01:41
------------- -------------------------- 127.8/385.2 MB 2.6 MB/s eta 0:01:40
------------- -------------------------- 128.0/385.2 MB 2.6 MB/s eta 0:01:40
------------- -------------------------- 128.1/385.2 MB 2.6 MB/s eta 0:01:39
------------- -------------------------- 128.2/385.2 MB 2.6 MB/s eta 0:01:39
------------- -------------------------- 128.3/385.2 MB 2.6 MB/s eta 0:01:39
------------- -------------------------- 128.5/385.2 MB 2.6 MB/s eta 0:01:39
------------- -------------------------- 128.6/385.2 MB 2.6 MB/s eta 0:01:38
------------- -------------------------- 128.7/385.2 MB 2.6 MB/s eta 0:01:38
------------- -------------------------- 128.9/385.2 MB 2.6 MB/s eta 0:01:38
------------- -------------------------- 129.0/385.2 MB 2.7 MB/s eta 0:01:37
------------- -------------------------- 129.1/385.2 MB 2.7 MB/s eta 0:01:37
------------- -------------------------- 129.3/385.2 MB 2.7 MB/s eta 0:01:35
------------- -------------------------- 129.4/385.2 MB 2.7 MB/s eta 0:01:35
------------- -------------------------- 129.5/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 129.7/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 129.8/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 129.9/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 130.1/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 130.2/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 130.3/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 130.5/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 130.6/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 130.7/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 130.9/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 130.9/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 131.1/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 131.2/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 131.3/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 131.5/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 131.6/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 131.7/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 131.9/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 132.0/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 132.1/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 132.3/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 132.4/385.2 MB 2.7 MB/s eta 0:01:34
------------- -------------------------- 132.5/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 132.7/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 132.8/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 132.9/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 133.1/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 133.2/385.2 MB 2.7 MB/s eta 0:01:32
------------- -------------------------- 133.3/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 133.5/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 133.6/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 133.7/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 133.9/385.2 MB 2.7 MB/s eta 0:01:32
------------- -------------------------- 134.0/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 134.1/385.2 MB 2.7 MB/s eta 0:01:33
------------- -------------------------- 134.3/385.2 MB 2.7 MB/s eta 0:01:32
------------- -------------------------- 134.4/385.2 MB 2.7 MB/s eta 0:01:32
------------- -------------------------- 134.5/385.2 MB 2.8 MB/s eta 0:01:31
------------- -------------------------- 134.6/385.2 MB 2.7 MB/s eta 0:01:32
------------- -------------------------- 134.8/385.2 MB 2.8 MB/s eta 0:01:32
-------------- ------------------------- 134.9/385.2 MB 2.8 MB/s eta 0:01:31
-------------- ------------------------- 135.1/385.2 MB 2.8 MB/s eta 0:01:31
-------------- ------------------------- 135.2/385.2 MB 2.8 MB/s eta 0:01:31
-------------- ------------------------- 135.3/385.2 MB 2.8 MB/s eta 0:01:31
-------------- ------------------------- 135.5/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 135.6/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 135.7/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 135.8/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 136.0/385.2 MB 2.8 MB/s eta 0:01:31
-------------- ------------------------- 136.1/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 136.3/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 136.4/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 136.5/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 136.6/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 136.8/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 136.9/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 137.1/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 137.2/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 137.3/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 137.4/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 137.6/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 137.7/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 137.8/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 138.0/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 138.1/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 138.3/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 138.4/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 138.5/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 138.7/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 138.8/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 138.9/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 139.1/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 139.2/385.2 MB 2.8 MB/s eta 0:01:30
-------------- ------------------------- 139.3/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 139.4/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 139.6/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 139.7/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 139.8/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 140.0/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 140.1/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 140.2/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 140.4/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 140.5/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 140.6/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 140.8/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 140.9/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 141.0/385.2 MB 2.8 MB/s eta 0:01:29
-------------- ------------------------- 141.2/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 141.3/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 141.4/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 141.6/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 141.7/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 141.8/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 141.9/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 142.1/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 142.2/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 142.4/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 142.5/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 142.6/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 142.8/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 142.9/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 143.0/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 143.1/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 143.3/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 143.4/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 143.5/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 143.7/385.2 MB 2.8 MB/s eta 0:01:28
-------------- ------------------------- 143.8/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 143.9/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 144.1/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 144.2/385.2 MB 2.8 MB/s eta 0:01:27
-------------- ------------------------- 144.3/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 144.4/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 144.6/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 144.7/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 144.8/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 144.9/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 145.0/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 145.2/385.2 MB 2.8 MB/s eta 0:01:28
--------------- ------------------------ 145.3/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 145.4/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 145.5/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 145.7/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 145.8/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 145.9/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 146.0/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 146.1/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 146.3/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 146.4/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 146.6/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 146.7/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 146.8/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 147.0/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 147.1/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 147.2/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 147.4/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 147.5/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 147.6/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 147.8/385.2 MB 2.8 MB/s eta 0:01:27
--------------- ------------------------ 147.9/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 148.0/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 148.1/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 148.2/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 148.4/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 148.5/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 148.6/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 148.7/385.2 MB 2.7 MB/s eta 0:01:28
--------------- ------------------------ 148.9/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 149.0/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 149.1/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 149.3/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 149.4/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 149.5/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 149.7/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 149.8/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 149.9/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 150.0/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 150.2/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 150.3/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 150.4/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 150.6/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 150.7/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 150.8/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 151.0/385.2 MB 2.7 MB/s eta 0:01:27
--------------- ------------------------ 151.1/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 151.2/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 151.4/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 151.5/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 151.6/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 151.8/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 151.9/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 152.0/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 152.2/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 152.3/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 152.5/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 152.6/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 152.7/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 152.9/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 153.0/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 153.1/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 153.2/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 153.4/385.2 MB 2.7 MB/s eta 0:01:25
--------------- ------------------------ 153.5/385.2 MB 2.7 MB/s eta 0:01:25
--------------- ------------------------ 153.6/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 153.8/385.2 MB 2.7 MB/s eta 0:01:25
--------------- ------------------------ 153.9/385.2 MB 2.7 MB/s eta 0:01:26
--------------- ------------------------ 154.0/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 154.1/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 154.3/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 154.4/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 154.5/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 154.7/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 154.8/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 154.9/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 155.1/385.2 MB 2.8 MB/s eta 0:01:24
---------------- ----------------------- 155.2/385.2 MB 2.7 MB/s eta 0:01:24
---------------- ----------------------- 155.3/385.2 MB 2.7 MB/s eta 0:01:24
---------------- ----------------------- 155.5/385.2 MB 2.8 MB/s eta 0:01:24
---------------- ----------------------- 155.6/385.2 MB 2.8 MB/s eta 0:01:24
---------------- ----------------------- 155.7/385.2 MB 2.8 MB/s eta 0:01:24
---------------- ----------------------- 155.9/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 156.0/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 156.1/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 156.3/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 156.4/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 156.5/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 156.7/385.2 MB 2.8 MB/s eta 0:01:24
---------------- ----------------------- 156.9/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 157.0/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 157.2/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 157.3/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 157.4/385.2 MB 2.8 MB/s eta 0:01:23
---------------- ----------------------- 157.5/385.2 MB 2.7 MB/s eta 0:01:24
---------------- ----------------------- 157.6/385.2 MB 2.7 MB/s eta 0:01:24
---------------- ----------------------- 157.7/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 157.8/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 157.9/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 158.0/385.2 MB 2.7 MB/s eta 0:01:24
---------------- ----------------------- 158.2/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 158.3/385.2 MB 2.7 MB/s eta 0:01:24
---------------- ----------------------- 158.4/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 158.5/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 158.6/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 158.7/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 158.8/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 158.9/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 159.0/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 159.2/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 159.3/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 159.4/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 159.6/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 159.7/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 159.8/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 160.0/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 160.1/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 160.2/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 160.3/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 160.5/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 160.6/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 160.7/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 160.8/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 161.0/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 161.1/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 161.2/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 161.3/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 161.4/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 161.6/385.2 MB 2.7 MB/s eta 0:01:25
---------------- ----------------------- 161.7/385.2 MB 2.6 MB/s eta 0:01:25
---------------- ----------------------- 161.8/385.2 MB 2.6 MB/s eta 0:01:25
---------------- ----------------------- 161.9/385.2 MB 2.6 MB/s eta 0:01:25
---------------- ----------------------- 162.0/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 162.1/385.2 MB 2.6 MB/s eta 0:01:25
---------------- ----------------------- 162.3/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 162.4/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 162.5/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 162.6/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 162.7/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 162.8/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 163.0/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 163.1/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 163.2/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 163.3/385.2 MB 2.6 MB/s eta 0:01:26
---------------- ----------------------- 163.5/385.2 MB 2.6 MB/s eta 0:01:27
---------------- ----------------------- 163.5/385.2 MB 2.6 MB/s eta 0:01:27
---------------- ----------------------- 163.6/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 163.8/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 163.9/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 164.0/385.2 MB 2.5 MB/s eta 0:01:27
----------------- ---------------------- 164.1/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 164.3/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 164.4/385.2 MB 2.5 MB/s eta 0:01:27
----------------- ---------------------- 164.5/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 164.7/385.2 MB 2.5 MB/s eta 0:01:27
----------------- ---------------------- 164.8/385.2 MB 2.5 MB/s eta 0:01:27
----------------- ---------------------- 164.9/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 165.1/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 165.2/385.2 MB 2.6 MB/s eta 0:01:27
----------------- ---------------------- 165.3/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 165.5/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 165.6/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 165.7/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 165.9/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 166.0/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 166.1/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 166.3/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 166.4/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 166.5/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 166.7/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 166.8/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 166.9/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 167.0/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 167.2/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 167.3/385.2 MB 2.5 MB/s eta 0:01:26
----------------- ---------------------- 167.4/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 167.6/385.2 MB 2.6 MB/s eta 0:01:26
----------------- ---------------------- 167.7/385.2 MB 2.6 MB/s eta 0:01:25
----------------- ---------------------- 167.8/385.2 MB 2.6 MB/s eta 0:01:24
----------------- ---------------------- 168.0/385.2 MB 2.6 MB/s eta 0:01:24
----------------- ---------------------- 168.1/385.2 MB 2.6 MB/s eta 0:01:24
----------------- ---------------------- 168.2/385.2 MB 2.6 MB/s eta 0:01:24
----------------- ---------------------- 168.4/385.2 MB 2.6 MB/s eta 0:01:23
----------------- ---------------------- 168.5/385.2 MB 2.6 MB/s eta 0:01:23
----------------- ---------------------- 168.6/385.2 MB 2.6 MB/s eta 0:01:23
----------------- ---------------------- 168.7/385.2 MB 2.6 MB/s eta 0:01:22
----------------- ---------------------- 168.9/385.2 MB 2.6 MB/s eta 0:01:22
----------------- ---------------------- 169.0/385.2 MB 2.7 MB/s eta 0:01:22
----------------- ---------------------- 169.2/385.2 MB 2.6 MB/s eta 0:01:22
----------------- ---------------------- 169.3/385.2 MB 2.7 MB/s eta 0:01:22
----------------- ---------------------- 169.4/385.2 MB 2.7 MB/s eta 0:01:22
----------------- ---------------------- 169.5/385.2 MB 2.7 MB/s eta 0:01:22
----------------- ---------------------- 169.7/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 169.8/385.2 MB 2.7 MB/s eta 0:01:22
----------------- ---------------------- 169.9/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 170.1/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 170.2/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 170.3/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 170.5/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 170.6/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 170.7/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 170.9/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 171.0/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 171.2/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 171.3/385.2 MB 2.7 MB/s eta 0:01:21
----------------- ---------------------- 171.4/385.2 MB 2.7 MB/s eta 0:01:20
----------------- ---------------------- 171.6/385.2 MB 2.7 MB/s eta 0:01:20
----------------- ---------------------- 171.7/385.2 MB 2.7 MB/s eta 0:01:20
----------------- ---------------------- 171.8/385.2 MB 2.7 MB/s eta 0:01:20
----------------- ---------------------- 172.0/385.2 MB 2.7 MB/s eta 0:01:19
----------------- ---------------------- 172.1/385.2 MB 2.7 MB/s eta 0:01:19
----------------- ---------------------- 172.2/385.2 MB 2.7 MB/s eta 0:01:19
----------------- ---------------------- 172.4/385.2 MB 2.7 MB/s eta 0:01:19
----------------- ---------------------- 172.5/385.2 MB 2.7 MB/s eta 0:01:19
----------------- ---------------------- 172.6/385.2 MB 2.7 MB/s eta 0:01:18
----------------- ---------------------- 172.8/385.2 MB 2.7 MB/s eta 0:01:19
----------------- ---------------------- 172.9/385.2 MB 2.7 MB/s eta 0:01:18
----------------- ---------------------- 173.0/385.2 MB 2.7 MB/s eta 0:01:18
----------------- ---------------------- 173.2/385.2 MB 2.7 MB/s eta 0:01:18
----------------- ---------------------- 173.3/385.2 MB 2.8 MB/s eta 0:01:18
------------------ --------------------- 173.4/385.2 MB 2.8 MB/s eta 0:01:17
------------------ --------------------- 173.6/385.2 MB 2.7 MB/s eta 0:01:18
------------------ --------------------- 173.7/385.2 MB 2.8 MB/s eta 0:01:17
------------------ --------------------- 173.8/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 174.0/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 174.1/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 174.2/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 174.4/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 174.5/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 174.6/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 174.8/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 174.9/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 175.0/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 175.2/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 175.3/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 175.4/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 175.6/385.2 MB 2.8 MB/s eta 0:01:15
------------------ --------------------- 175.7/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 175.8/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 175.9/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 176.0/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 176.2/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 176.3/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 176.4/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 176.5/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 176.7/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 176.8/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 176.9/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 177.1/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 177.2/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 177.3/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 177.4/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 177.5/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 177.6/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 177.8/385.2 MB 2.8 MB/s eta 0:01:16
------------------ --------------------- 177.9/385.2 MB 2.7 MB/s eta 0:01:16
------------------ --------------------- 178.0/385.2 MB 2.7 MB/s eta 0:01:16
------------------ --------------------- 178.1/385.2 MB 2.7 MB/s eta 0:01:16
------------------ --------------------- 178.2/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 178.3/385.2 MB 2.7 MB/s eta 0:01:16
------------------ --------------------- 178.5/385.2 MB 2.7 MB/s eta 0:01:16
------------------ --------------------- 178.6/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 178.7/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 178.8/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 178.9/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 179.0/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 179.2/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 179.3/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 179.4/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 179.5/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 179.6/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 179.8/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 179.9/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 180.0/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 180.1/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 180.2/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 180.4/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 180.5/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 180.6/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 180.7/385.2 MB 2.7 MB/s eta 0:01:18
------------------ --------------------- 180.8/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 181.0/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 181.1/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 181.2/385.2 MB 2.7 MB/s eta 0:01:17
------------------ --------------------- 181.3/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 181.4/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 181.5/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 181.7/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 181.8/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 181.9/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 182.0/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 182.2/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 182.3/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 182.4/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 182.5/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 182.7/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 182.8/385.2 MB 2.6 MB/s eta 0:01:18
------------------ --------------------- 182.9/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 183.1/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 183.2/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 183.3/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 183.4/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 183.6/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 183.7/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 183.8/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 183.9/385.2 MB 2.6 MB/s eta 0:01:19
------------------- -------------------- 184.0/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 184.1/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 184.3/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 184.4/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 184.5/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 184.6/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 184.8/385.2 MB 2.6 MB/s eta 0:01:19
------------------- -------------------- 184.9/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 185.0/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 185.1/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 185.3/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 185.4/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 185.5/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 185.7/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 185.8/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 186.0/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 186.1/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 186.2/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 186.4/385.2 MB 2.6 MB/s eta 0:01:18
------------------- -------------------- 186.5/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 186.6/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 186.8/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 186.9/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 187.0/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 187.2/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 187.3/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 187.4/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 187.6/385.2 MB 2.6 MB/s eta 0:01:16
------------------- -------------------- 187.7/385.2 MB 2.6 MB/s eta 0:01:17
------------------- -------------------- 187.8/385.2 MB 2.6 MB/s eta 0:01:16
------------------- -------------------- 187.9/385.2 MB 2.6 MB/s eta 0:01:16
------------------- -------------------- 188.0/385.2 MB 2.6 MB/s eta 0:01:16
------------------- -------------------- 188.2/385.2 MB 2.6 MB/s eta 0:01:16
------------------- -------------------- 188.3/385.2 MB 2.6 MB/s eta 0:01:16
------------------- -------------------- 188.4/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 188.5/385.2 MB 2.6 MB/s eta 0:01:16
------------------- -------------------- 188.7/385.2 MB 2.6 MB/s eta 0:01:16
------------------- -------------------- 188.8/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 188.9/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 189.1/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 189.2/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 189.3/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 189.4/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 189.5/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 189.7/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 189.8/385.2 MB 2.6 MB/s eta 0:01:14
------------------- -------------------- 189.9/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 190.0/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 190.1/385.2 MB 2.6 MB/s eta 0:01:14
------------------- -------------------- 190.3/385.2 MB 2.6 MB/s eta 0:01:15
------------------- -------------------- 190.4/385.2 MB 2.6 MB/s eta 0:01:14
------------------- -------------------- 190.6/385.2 MB 2.7 MB/s eta 0:01:14
------------------- -------------------- 190.7/385.2 MB 2.7 MB/s eta 0:01:14
------------------- -------------------- 190.8/385.2 MB 2.7 MB/s eta 0:01:14
------------------- -------------------- 190.9/385.2 MB 2.7 MB/s eta 0:01:14
------------------- -------------------- 191.0/385.2 MB 2.7 MB/s eta 0:01:14
------------------- -------------------- 191.2/385.2 MB 2.6 MB/s eta 0:01:14
------------------- -------------------- 191.3/385.2 MB 2.7 MB/s eta 0:01:14
------------------- -------------------- 191.4/385.2 MB 2.6 MB/s eta 0:01:14
------------------- -------------------- 191.5/385.2 MB 2.7 MB/s eta 0:01:14
------------------- -------------------- 191.7/385.2 MB 2.7 MB/s eta 0:01:13
------------------- -------------------- 191.8/385.2 MB 2.7 MB/s eta 0:01:13
------------------- -------------------- 191.9/385.2 MB 2.7 MB/s eta 0:01:13
------------------- -------------------- 192.1/385.2 MB 2.7 MB/s eta 0:01:13
------------------- -------------------- 192.2/385.2 MB 2.7 MB/s eta 0:01:13
------------------- -------------------- 192.3/385.2 MB 2.7 MB/s eta 0:01:13
------------------- -------------------- 192.4/385.2 MB 2.7 MB/s eta 0:01:13
------------------- -------------------- 192.6/385.2 MB 2.7 MB/s eta 0:01:13
-------------------- ------------------- 192.7/385.2 MB 2.7 MB/s eta 0:01:13
-------------------- ------------------- 192.8/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 193.0/385.2 MB 2.7 MB/s eta 0:01:13
-------------------- ------------------- 193.1/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 193.2/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 193.4/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 193.5/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 193.6/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 193.7/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 193.9/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 194.0/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 194.1/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 194.2/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 194.4/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 194.5/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 194.6/385.2 MB 2.7 MB/s eta 0:01:12
-------------------- ------------------- 194.7/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 194.9/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 195.0/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 195.1/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 195.3/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 195.4/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 195.5/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 195.7/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 195.8/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 195.9/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 196.0/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 196.2/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 196.3/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 196.4/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 196.6/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 196.7/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 196.8/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 196.9/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 197.1/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 197.2/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 197.3/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 197.4/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 197.6/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 197.7/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 197.8/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 197.9/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 198.1/385.2 MB 2.7 MB/s eta 0:01:11
-------------------- ------------------- 198.2/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 198.3/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 198.5/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 198.6/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 198.7/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 198.8/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 198.9/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 199.0/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 199.0/385.2 MB 2.7 MB/s eta 0:01:10
-------------------- ------------------- 199.1/385.2 MB 2.6 MB/s eta 0:01:12
-------------------- ------------------- 199.2/385.2 MB 2.6 MB/s eta 0:01:12
-------------------- ------------------- 199.2/385.2 MB 2.6 MB/s eta 0:01:12
-------------------- ------------------- 199.2/385.2 MB 2.6 MB/s eta 0:01:12
-------------------- ------------------- 199.2/385.2 MB 2.6 MB/s eta 0:01:12
-------------------- ------------------- 199.2/385.2 MB 2.6 MB/s eta 0:01:12
-------------------- ------------------- 199.2/385.2 MB 2.6 MB/s eta 0:01:12
-------------------- ------------------- 199.4/385.2 MB 2.5 MB/s eta 0:01:16
-------------------- ------------------- 199.7/385.2 MB 2.5 MB/s eta 0:01:15
-------------------- ------------------- 199.7/385.2 MB 2.5 MB/s eta 0:01:15
-------------------- ------------------- 199.8/385.2 MB 2.5 MB/s eta 0:01:15
-------------------- ------------------- 199.9/385.2 MB 2.5 MB/s eta 0:01:15
-------------------- ------------------- 200.1/385.2 MB 2.5 MB/s eta 0:01:15
-------------------- ------------------- 200.2/385.2 MB 2.5 MB/s eta 0:01:15
-------------------- ------------------- 200.3/385.2 MB 2.5 MB/s eta 0:01:14
-------------------- ------------------- 200.5/385.2 MB 2.5 MB/s eta 0:01:15
-------------------- ------------------- 200.6/385.2 MB 2.5 MB/s eta 0:01:14
-------------------- ------------------- 200.7/385.2 MB 2.5 MB/s eta 0:01:14
-------------------- ------------------- 200.9/385.2 MB 2.5 MB/s eta 0:01:14
-------------------- ------------------- 201.0/385.2 MB 2.5 MB/s eta 0:01:14
-------------------- ------------------- 201.1/385.2 MB 2.5 MB/s eta 0:01:14
-------------------- ------------------- 201.3/385.2 MB 2.5 MB/s eta 0:01:14
-------------------- ------------------- 201.4/385.2 MB 2.5 MB/s eta 0:01:13
-------------------- ------------------- 201.5/385.2 MB 2.5 MB/s eta 0:01:13
-------------------- ------------------- 201.7/385.2 MB 2.5 MB/s eta 0:01:13
-------------------- ------------------- 201.8/385.2 MB 2.5 MB/s eta 0:01:13
-------------------- ------------------- 202.0/385.2 MB 2.5 MB/s eta 0:01:13
-------------------- ------------------- 202.1/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 202.2/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 202.3/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 202.5/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 202.6/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 202.7/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 202.9/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 203.0/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 203.1/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 203.3/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 203.4/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 203.5/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 203.7/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 203.8/385.2 MB 2.5 MB/s eta 0:01:13
--------------------- ------------------ 203.9/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 204.1/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 204.2/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 204.3/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 204.4/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 204.6/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 204.7/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 204.9/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 205.0/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 205.1/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 205.2/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 205.4/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 205.5/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 205.6/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 205.7/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 205.9/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 206.0/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 206.1/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 206.2/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 206.3/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 206.4/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 206.5/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 206.6/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 206.8/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 206.9/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 207.0/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 207.2/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 207.3/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 207.4/385.2 MB 2.5 MB/s eta 0:01:12
--------------------- ------------------ 207.6/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 207.7/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 207.8/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 208.0/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 208.1/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 208.2/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 208.4/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 208.5/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 208.6/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 208.8/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 208.9/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 209.0/385.2 MB 2.5 MB/s eta 0:01:11
--------------------- ------------------ 209.2/385.2 MB 2.5 MB/s eta 0:01:10
--------------------- ------------------ 209.3/385.2 MB 2.6 MB/s eta 0:01:08
--------------------- ------------------ 209.4/385.2 MB 2.6 MB/s eta 0:01:08
--------------------- ------------------ 209.6/385.2 MB 2.8 MB/s eta 0:01:04
--------------------- ------------------ 209.7/385.2 MB 2.7 MB/s eta 0:01:05
--------------------- ------------------ 209.8/385.2 MB 2.7 MB/s eta 0:01:05
--------------------- ------------------ 210.0/385.2 MB 2.7 MB/s eta 0:01:05
--------------------- ------------------ 210.1/385.2 MB 2.7 MB/s eta 0:01:05
--------------------- ------------------ 210.2/385.2 MB 2.7 MB/s eta 0:01:05
--------------------- ------------------ 210.3/385.2 MB 2.7 MB/s eta 0:01:05
--------------------- ------------------ 210.4/385.2 MB 2.7 MB/s eta 0:01:05
--------------------- ------------------ 210.5/385.2 MB 2.7 MB/s eta 0:01:05
--------------------- ------------------ 210.5/385.2 MB 2.7 MB/s eta 0:01:06
--------------------- ------------------ 210.6/385.2 MB 2.7 MB/s eta 0:01:06
--------------------- ------------------ 210.7/385.2 MB 2.7 MB/s eta 0:01:06
--------------------- ------------------ 210.7/385.2 MB 2.6 MB/s eta 0:01:07
--------------------- ------------------ 210.8/385.2 MB 2.6 MB/s eta 0:01:07
--------------------- ------------------ 211.0/385.2 MB 2.6 MB/s eta 0:01:07
--------------------- ------------------ 211.1/385.2 MB 2.6 MB/s eta 0:01:07
--------------------- ------------------ 211.2/385.2 MB 2.6 MB/s eta 0:01:07
--------------------- ------------------ 211.3/385.2 MB 2.6 MB/s eta 0:01:07
--------------------- ------------------ 211.5/385.2 MB 2.6 MB/s eta 0:01:07
--------------------- ------------------ 211.6/385.2 MB 2.6 MB/s eta 0:01:07
--------------------- ------------------ 211.7/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 211.8/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 212.0/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 212.1/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 212.3/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 212.4/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 212.5/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 212.6/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 212.7/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 212.9/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 213.0/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 213.1/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 213.2/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 213.4/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 213.5/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 213.6/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 213.8/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 213.9/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 214.0/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 214.1/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 214.3/385.2 MB 2.6 MB/s eta 0:01:07
---------------------- ----------------- 214.4/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 214.5/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 214.7/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 214.8/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 214.9/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 215.1/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 215.2/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 215.3/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 215.4/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 215.6/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 215.7/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 215.8/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 216.0/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 216.2/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 216.3/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 216.5/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 216.6/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 216.7/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 216.8/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 216.9/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 217.1/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 217.2/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 217.3/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 217.4/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 217.5/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 217.7/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 217.8/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 217.9/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 218.0/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 218.1/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 218.3/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 218.4/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 218.5/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 218.7/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 218.8/385.2 MB 2.6 MB/s eta 0:01:06
---------------------- ----------------- 219.0/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.1/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.2/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.3/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.4/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.5/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.5/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.7/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.8/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 219.9/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 220.0/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 220.1/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 220.3/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 220.4/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 220.5/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 220.6/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 220.7/385.2 MB 2.5 MB/s eta 0:01:06
---------------------- ----------------- 220.8/385.2 MB 2.5 MB/s eta 0:01:05
---------------------- ----------------- 220.9/385.2 MB 2.6 MB/s eta 0:01:05
---------------------- ----------------- 221.0/385.2 MB 2.6 MB/s eta 0:01:04
---------------------- ----------------- 221.1/385.2 MB 2.6 MB/s eta 0:01:04
---------------------- ----------------- 221.2/385.2 MB 2.6 MB/s eta 0:01:04
---------------------- ----------------- 221.3/385.2 MB 2.6 MB/s eta 0:01:04
---------------------- ----------------- 221.5/385.2 MB 2.6 MB/s eta 0:01:04
----------------------- ---------------- 221.6/385.2 MB 2.6 MB/s eta 0:01:04
----------------------- ---------------- 221.7/385.2 MB 2.6 MB/s eta 0:01:04
----------------------- ---------------- 221.8/385.2 MB 2.6 MB/s eta 0:01:04
----------------------- ---------------- 221.9/385.2 MB 2.6 MB/s eta 0:01:04
----------------------- ---------------- 222.0/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 222.1/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 222.3/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 222.4/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 222.5/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 222.6/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 222.7/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 222.9/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 223.0/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 223.1/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 223.2/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 223.4/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 223.5/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 223.6/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 223.7/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 223.9/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 224.0/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 224.1/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 224.2/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 224.3/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 224.4/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 224.6/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 224.7/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 224.8/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 225.0/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 225.1/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 225.2/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 225.3/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 225.4/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 225.5/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 225.6/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 225.7/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 225.8/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.0/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.1/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.2/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.3/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.5/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.6/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.7/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.8/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 226.9/385.2 MB 2.4 MB/s eta 0:01:05
----------------------- ---------------- 227.0/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 227.1/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 227.2/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 227.4/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 227.5/385.2 MB 2.5 MB/s eta 0:01:05
----------------------- ---------------- 227.7/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 227.8/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 227.9/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 228.0/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 228.2/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 228.3/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 228.5/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 228.6/385.2 MB 2.5 MB/s eta 0:01:04
----------------------- ---------------- 228.7/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 228.8/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 229.0/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 229.1/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 229.2/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 229.3/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 229.5/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 229.6/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 229.7/385.2 MB 2.5 MB/s eta 0:01:02
----------------------- ---------------- 229.8/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 229.9/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 230.0/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 230.1/385.2 MB 2.5 MB/s eta 0:01:03
----------------------- ---------------- 230.3/385.2 MB 2.5 MB/s eta 0:01:02
----------------------- ---------------- 230.4/385.2 MB 2.5 MB/s eta 0:01:02
----------------------- ---------------- 230.5/385.2 MB 2.5 MB/s eta 0:01:02
----------------------- ---------------- 230.7/385.2 MB 2.5 MB/s eta 0:01:02
----------------------- ---------------- 230.8/385.2 MB 2.5 MB/s eta 0:01:02
----------------------- ---------------- 230.9/385.2 MB 2.5 MB/s eta 0:01:02
----------------------- ---------------- 231.0/385.2 MB 2.5 MB/s eta 0:01:02
------------------------ --------------- 231.1/385.2 MB 2.5 MB/s eta 0:01:02
------------------------ --------------- 231.3/385.2 MB 2.5 MB/s eta 0:01:02
------------------------ --------------- 231.4/385.2 MB 2.5 MB/s eta 0:01:02
------------------------ --------------- 231.5/385.2 MB 2.5 MB/s eta 0:01:02
------------------------ --------------- 231.6/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 231.7/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 231.8/385.2 MB 2.5 MB/s eta 0:01:02
------------------------ --------------- 231.9/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 232.1/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 232.2/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 232.3/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 232.4/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 232.6/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 232.7/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 232.8/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 232.9/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 233.0/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 233.2/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 233.3/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 233.4/385.2 MB 2.5 MB/s eta 0:01:01
------------------------ --------------- 233.6/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 233.7/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 233.8/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 234.0/385.2 MB 2.6 MB/s eta 0:01:00
------------------------ --------------- 234.1/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 234.2/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 234.3/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 234.4/385.2 MB 2.6 MB/s eta 0:00:59
------------------------ --------------- 234.6/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 234.7/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 234.8/385.2 MB 2.5 MB/s eta 0:01:00
------------------------ --------------- 234.9/385.2 MB 2.6 MB/s eta 0:00:59
------------------------ --------------- 235.1/385.2 MB 2.6 MB/s eta 0:00:59
------------------------ --------------- 235.2/385.2 MB 2.5 MB/s eta 0:00:59
------------------------ --------------- 235.4/385.2 MB 2.5 MB/s eta 0:00:59
------------------------ --------------- 235.5/385.2 MB 2.5 MB/s eta 0:00:59
------------------------ --------------- 235.6/385.2 MB 2.6 MB/s eta 0:00:58
------------------------ --------------- 235.8/385.2 MB 2.6 MB/s eta 0:00:58
------------------------ --------------- 235.9/385.2 MB 2.6 MB/s eta 0:00:58
------------------------ --------------- 236.0/385.2 MB 2.6 MB/s eta 0:00:58
------------------------ --------------- 236.2/385.2 MB 2.6 MB/s eta 0:00:58
------------------------ --------------- 236.3/385.2 MB 2.6 MB/s eta 0:00:58
------------------------ --------------- 236.4/385.2 MB 2.6 MB/s eta 0:00:58
------------------------ --------------- 236.6/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 236.7/385.2 MB 2.6 MB/s eta 0:00:58
------------------------ --------------- 236.8/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 236.9/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 237.1/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 237.2/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 237.4/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 237.5/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 237.6/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 237.7/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 237.9/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 238.0/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 238.1/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 238.3/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 238.4/385.2 MB 2.6 MB/s eta 0:00:57
------------------------ --------------- 238.5/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 238.7/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 238.8/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 238.9/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 239.0/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 239.2/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 239.3/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 239.5/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 239.6/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 239.7/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 239.8/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 239.9/385.2 MB 2.6 MB/s eta 0:00:56
------------------------ --------------- 240.1/385.2 MB 2.6 MB/s eta 0:00:55
------------------------ --------------- 240.2/385.2 MB 2.6 MB/s eta 0:00:55
------------------------ --------------- 240.3/385.2 MB 2.6 MB/s eta 0:00:55
------------------------ --------------- 240.4/385.2 MB 2.6 MB/s eta 0:00:55
------------------------ --------------- 240.6/385.2 MB 2.6 MB/s eta 0:00:55
------------------------ --------------- 240.7/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 240.8/385.2 MB 2.7 MB/s eta 0:00:55
------------------------- -------------- 240.9/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 241.0/385.2 MB 2.7 MB/s eta 0:00:55
------------------------- -------------- 241.2/385.2 MB 2.7 MB/s eta 0:00:55
------------------------- -------------- 241.3/385.2 MB 2.7 MB/s eta 0:00:55
------------------------- -------------- 241.4/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 241.5/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 241.6/385.2 MB 2.7 MB/s eta 0:00:55
------------------------- -------------- 241.7/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 241.8/385.2 MB 2.7 MB/s eta 0:00:55
------------------------- -------------- 242.0/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 242.1/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 242.2/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 242.3/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 242.4/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 242.6/385.2 MB 2.6 MB/s eta 0:00:55
------------------------- -------------- 242.7/385.2 MB 2.6 MB/s eta 0:00:54
------------------------- -------------- 242.8/385.2 MB 2.6 MB/s eta 0:00:54
------------------------- -------------- 242.9/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 243.1/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 243.2/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 243.3/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 243.5/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 243.6/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 243.7/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 243.9/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 244.0/385.2 MB 2.7 MB/s eta 0:00:54
------------------------- -------------- 244.1/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 244.3/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 244.4/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 244.5/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 244.6/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 244.8/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 244.9/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 245.1/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 245.2/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 245.3/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 245.5/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 245.6/385.2 MB 2.7 MB/s eta 0:00:53
------------------------- -------------- 245.7/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 245.9/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 246.0/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 246.1/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 246.3/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 246.4/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 246.5/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 246.6/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 246.7/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 246.8/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 247.0/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 247.1/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 247.2/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 247.3/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 247.5/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 247.6/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 247.7/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 247.9/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 248.0/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 248.1/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 248.2/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 248.4/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 248.5/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 248.6/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 248.8/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 248.9/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 249.0/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 249.1/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 249.3/385.2 MB 2.7 MB/s eta 0:00:52
------------------------- -------------- 249.4/385.2 MB 2.7 MB/s eta 0:00:51
------------------------- -------------- 249.5/385.2 MB 2.7 MB/s eta 0:00:51
------------------------- -------------- 249.7/385.2 MB 2.7 MB/s eta 0:00:51
------------------------- -------------- 249.8/385.2 MB 2.7 MB/s eta 0:00:51
------------------------- -------------- 249.9/385.2 MB 2.7 MB/s eta 0:00:51
------------------------- -------------- 250.1/385.2 MB 2.7 MB/s eta 0:00:51
------------------------- -------------- 250.2/385.2 MB 2.7 MB/s eta 0:00:51
------------------------- -------------- 250.3/385.2 MB 2.7 MB/s eta 0:00:51
-------------------------- ------------- 250.5/385.2 MB 2.7 MB/s eta 0:00:51
-------------------------- ------------- 250.6/385.2 MB 2.7 MB/s eta 0:00:51
-------------------------- ------------- 250.8/385.2 MB 2.7 MB/s eta 0:00:51
-------------------------- ------------- 250.9/385.2 MB 2.7 MB/s eta 0:00:51
-------------------------- ------------- 251.0/385.2 MB 2.7 MB/s eta 0:00:50
-------------------------- ------------- 251.1/385.2 MB 2.7 MB/s eta 0:00:50
-------------------------- ------------- 251.3/385.2 MB 2.7 MB/s eta 0:00:50
-------------------------- ------------- 251.4/385.2 MB 2.7 MB/s eta 0:00:50
-------------------------- ------------- 251.6/385.2 MB 2.7 MB/s eta 0:00:50
-------------------------- ------------- 251.7/385.2 MB 2.7 MB/s eta 0:00:50
-------------------------- ------------- 251.8/385.2 MB 2.7 MB/s eta 0:00:49
-------------------------- ------------- 251.9/385.2 MB 2.7 MB/s eta 0:00:50
-------------------------- ------------- 252.1/385.2 MB 2.7 MB/s eta 0:00:49
-------------------------- ------------- 252.2/385.2 MB 2.7 MB/s eta 0:00:49
-------------------------- ------------- 252.3/385.2 MB 2.7 MB/s eta 0:00:49
-------------------------- ------------- 252.5/385.2 MB 2.8 MB/s eta 0:00:49
-------------------------- ------------- 252.6/385.2 MB 2.8 MB/s eta 0:00:49
-------------------------- ------------- 252.8/385.2 MB 2.8 MB/s eta 0:00:49
-------------------------- ------------- 252.9/385.2 MB 2.8 MB/s eta 0:00:49
-------------------------- ------------- 253.0/385.2 MB 2.8 MB/s eta 0:00:49
-------------------------- ------------- 253.1/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 253.3/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 253.4/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 253.5/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 253.7/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 253.8/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 253.9/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 254.1/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 254.2/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 254.3/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 254.5/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 254.6/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 254.7/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 254.9/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 255.0/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 255.1/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 255.3/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 255.4/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 255.5/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 255.7/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 255.8/385.2 MB 2.8 MB/s eta 0:00:48
-------------------------- ------------- 255.9/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 256.1/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 256.2/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 256.3/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 256.5/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 256.5/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 256.6/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 256.8/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 256.9/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 257.0/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.1/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.3/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.4/385.2 MB 2.8 MB/s eta 0:00:47
-------------------------- ------------- 257.5/385.2 MB 2.5 MB/s eta 0:00:52
-------------------------- ------------- 258.5/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 258.7/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 258.8/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 258.9/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 259.1/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 259.2/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 259.3/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 259.5/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 259.6/385.2 MB 2.7 MB/s eta 0:00:47
-------------------------- ------------- 259.8/385.2 MB 2.7 MB/s eta 0:00:46
-------------------------- ------------- 259.9/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 260.0/385.2 MB 2.7 MB/s eta 0:00:47
--------------------------- ------------ 260.2/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 260.3/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 260.4/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 260.6/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 260.7/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 260.8/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 261.0/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 261.1/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 261.2/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 261.4/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 261.5/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 261.6/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 261.7/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 261.9/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 262.0/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 262.1/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 262.3/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 262.4/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 262.5/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 262.6/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 262.7/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 262.9/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 263.0/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 263.1/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 263.2/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 263.5/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 263.6/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 263.7/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 263.9/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 264.0/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 264.1/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 264.2/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 264.4/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 264.5/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 264.6/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 264.8/385.2 MB 2.7 MB/s eta 0:00:46
--------------------------- ------------ 264.9/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 265.0/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 265.2/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 265.3/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 265.4/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 265.6/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 265.7/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 265.8/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 266.0/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 266.1/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 266.2/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 266.4/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 266.5/385.2 MB 2.7 MB/s eta 0:00:45
--------------------------- ------------ 266.6/385.2 MB 2.7 MB/s eta 0:00:44
--------------------------- ------------ 266.8/385.2 MB 2.7 MB/s eta 0:00:44
--------------------------- ------------ 266.9/385.2 MB 2.7 MB/s eta 0:00:44
--------------------------- ------------ 267.0/385.2 MB 2.7 MB/s eta 0:00:44
--------------------------- ------------ 267.2/385.2 MB 2.7 MB/s eta 0:00:44
--------------------------- ------------ 267.3/385.2 MB 2.7 MB/s eta 0:00:44
--------------------------- ------------ 267.5/385.2 MB 2.7 MB/s eta 0:00:44
--------------------------- ------------ 267.6/385.2 MB 2.7 MB/s eta 0:00:44
--------------------------- ------------ 267.7/385.2 MB 3.0 MB/s eta 0:00:39
--------------------------- ------------ 267.8/385.2 MB 3.0 MB/s eta 0:00:39
--------------------------- ------------ 268.0/385.2 MB 3.0 MB/s eta 0:00:40
--------------------------- ------------ 268.1/385.2 MB 2.9 MB/s eta 0:00:40
--------------------------- ------------ 268.3/385.2 MB 2.9 MB/s eta 0:00:41
--------------------------- ------------ 268.4/385.2 MB 2.9 MB/s eta 0:00:41
--------------------------- ------------ 268.5/385.2 MB 2.8 MB/s eta 0:00:41
--------------------------- ------------ 268.6/385.2 MB 2.8 MB/s eta 0:00:42
--------------------------- ------------ 268.8/385.2 MB 2.8 MB/s eta 0:00:42
--------------------------- ------------ 268.9/385.2 MB 2.8 MB/s eta 0:00:43
--------------------------- ------------ 268.9/385.2 MB 2.7 MB/s eta 0:00:43
--------------------------- ------------ 269.0/385.2 MB 2.7 MB/s eta 0:00:43
--------------------------- ------------ 269.2/385.2 MB 2.7 MB/s eta 0:00:43
--------------------------- ------------ 269.3/385.2 MB 2.7 MB/s eta 0:00:43
--------------------------- ------------ 269.4/385.2 MB 2.7 MB/s eta 0:00:43
--------------------------- ------------ 269.5/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 269.6/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 269.8/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 269.9/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 270.1/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 270.2/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 270.3/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 270.4/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 270.6/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 270.7/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 270.8/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 270.9/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.0/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.2/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.3/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.3/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.5/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.6/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.7/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.8/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 271.9/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 272.1/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 272.2/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 272.3/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 272.5/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 272.6/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 272.7/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 272.9/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 273.0/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 273.1/385.2 MB 2.7 MB/s eta 0:00:43
---------------------------- ----------- 273.3/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 273.4/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 273.5/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 273.7/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 273.8/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 273.9/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 274.1/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 274.2/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 274.3/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 274.5/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 274.6/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 274.7/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 274.8/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 275.0/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 275.1/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 275.2/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 275.4/385.2 MB 2.7 MB/s eta 0:00:42
---------------------------- ----------- 275.5/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 275.6/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 275.7/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 275.9/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 276.0/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 276.1/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 276.3/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 276.4/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 276.6/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 276.7/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 276.8/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 276.9/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 277.1/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 277.2/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 277.3/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 277.5/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 277.6/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 277.7/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 277.8/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 278.0/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 278.1/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 278.3/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 278.4/385.2 MB 2.7 MB/s eta 0:00:41
---------------------------- ----------- 278.5/385.2 MB 2.7 MB/s eta 0:00:40
---------------------------- ----------- 278.6/385.2 MB 2.7 MB/s eta 0:00:40
---------------------------- ----------- 278.8/385.2 MB 2.7 MB/s eta 0:00:40
---------------------------- ----------- 278.9/385.2 MB 2.7 MB/s eta 0:00:40
---------------------------- ----------- 279.0/385.2 MB 2.7 MB/s eta 0:00:40
---------------------------- ----------- 279.2/385.2 MB 2.7 MB/s eta 0:00:40
----------------------------- ---------- 279.3/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 279.5/385.2 MB 2.7 MB/s eta 0:00:40
----------------------------- ---------- 279.6/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 279.7/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 279.9/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 280.0/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 280.1/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 280.3/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 280.4/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 280.5/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 280.7/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 280.8/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 280.9/385.2 MB 2.7 MB/s eta 0:00:39
----------------------------- ---------- 281.1/385.2 MB 2.8 MB/s eta 0:00:38
----------------------------- ---------- 281.2/385.2 MB 2.8 MB/s eta 0:00:38
----------------------------- ---------- 281.3/385.2 MB 2.8 MB/s eta 0:00:38
----------------------------- ---------- 281.5/385.2 MB 2.8 MB/s eta 0:00:38
----------------------------- ---------- 281.6/385.2 MB 2.8 MB/s eta 0:00:38
----------------------------- ---------- 281.7/385.2 MB 2.8 MB/s eta 0:00:38
----------------------------- ---------- 281.9/385.2 MB 2.8 MB/s eta 0:00:38
----------------------------- ---------- 282.0/385.2 MB 2.8 MB/s eta 0:00:38
----------------------------- ---------- 282.1/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 282.3/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 282.4/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 282.5/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 282.7/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 282.8/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 282.9/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 283.1/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 283.2/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 283.3/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 283.4/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 283.5/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 283.7/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 283.8/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 283.9/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 284.1/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 284.2/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 284.3/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 284.4/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 284.6/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 284.7/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 284.8/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 284.9/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 285.1/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 285.2/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 285.3/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 285.5/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 285.6/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 285.7/385.2 MB 2.8 MB/s eta 0:00:37
----------------------------- ---------- 285.8/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 286.0/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 286.1/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 286.2/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 286.4/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 286.5/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 286.6/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 286.8/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 286.9/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 287.0/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 287.2/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 287.3/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 287.5/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 287.6/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 287.7/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 287.9/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 288.0/385.2 MB 2.8 MB/s eta 0:00:36
----------------------------- ---------- 288.1/385.2 MB 2.8 MB/s eta 0:00:35
----------------------------- ---------- 288.3/385.2 MB 2.8 MB/s eta 0:00:35
----------------------------- ---------- 288.4/385.2 MB 2.8 MB/s eta 0:00:35
----------------------------- ---------- 288.5/385.2 MB 2.8 MB/s eta 0:00:35
----------------------------- ---------- 288.7/385.2 MB 2.8 MB/s eta 0:00:35
----------------------------- ---------- 288.8/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 288.9/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 289.1/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 289.2/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 289.3/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 289.5/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 289.6/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 289.8/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 289.9/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 290.0/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 290.1/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 290.3/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 290.4/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 290.5/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 290.7/385.2 MB 2.8 MB/s eta 0:00:35
------------------------------ --------- 290.8/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 291.0/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 291.1/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 291.2/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 291.4/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 291.5/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 291.6/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 291.8/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 291.9/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 292.0/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 292.2/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 292.3/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 292.5/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 292.6/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 292.7/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 292.8/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 293.0/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 293.1/385.2 MB 2.8 MB/s eta 0:00:34
------------------------------ --------- 293.3/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 293.4/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 293.6/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 293.7/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 293.8/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 294.0/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 294.1/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 294.2/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 294.4/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 294.5/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 294.6/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 294.8/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 294.9/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 295.0/385.2 MB 2.8 MB/s eta 0:00:33
------------------------------ --------- 295.2/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 295.3/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 295.4/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 295.5/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 295.7/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 295.8/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 295.9/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 296.1/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 296.2/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 296.3/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 296.4/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 296.5/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 296.6/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 296.8/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 296.9/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 297.1/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 297.2/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 297.3/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 297.5/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 297.6/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 297.7/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 297.8/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 298.0/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 298.1/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 298.2/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 298.3/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------ --------- 298.5/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------- -------- 298.6/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------- -------- 298.7/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------- -------- 298.8/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------- -------- 298.9/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------- -------- 299.0/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------- -------- 299.2/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------- -------- 299.3/385.2 MB 2.8 MB/s eta 0:00:32
------------------------------- -------- 299.4/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 299.5/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 299.6/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 299.8/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 299.9/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 300.0/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 300.1/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 300.2/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 300.3/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 300.4/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 300.6/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 300.7/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 300.8/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 301.0/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 301.1/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 301.2/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 301.4/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 301.5/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 301.6/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 301.8/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 301.9/385.2 MB 2.7 MB/s eta 0:00:32
------------------------------- -------- 302.0/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 302.2/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 302.3/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 302.4/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 302.6/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 302.7/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 302.8/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.0/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.1/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.2/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.3/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.4/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.5/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.6/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.8/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 303.9/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 304.0/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 304.1/385.2 MB 2.7 MB/s eta 0:00:31
------------------------------- -------- 304.3/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 304.3/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 304.4/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 304.5/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 304.7/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 304.8/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 304.9/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 305.0/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 305.2/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 305.3/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 305.5/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 305.6/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 305.7/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 305.8/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 306.0/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 306.1/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 306.2/385.2 MB 2.6 MB/s eta 0:00:31
------------------------------- -------- 306.4/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 306.5/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 306.6/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 306.8/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 306.9/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 307.0/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 307.2/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 307.3/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 307.4/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 307.6/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 307.7/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 307.8/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 307.9/385.2 MB 2.6 MB/s eta 0:00:30
------------------------------- -------- 308.1/385.2 MB 2.7 MB/s eta 0:00:30
-------------------------------- ------- 308.2/385.2 MB 2.7 MB/s eta 0:00:30
-------------------------------- ------- 308.3/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 308.5/385.2 MB 2.6 MB/s eta 0:00:30
-------------------------------- ------- 308.6/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 308.7/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 308.8/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 309.0/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 309.1/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 309.2/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 309.4/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 309.5/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 309.6/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 309.7/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 309.9/385.2 MB 2.7 MB/s eta 0:00:29
-------------------------------- ------- 310.0/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 310.2/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 310.3/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 310.4/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 310.5/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 310.7/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 310.8/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 311.0/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 311.1/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 311.2/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 311.4/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 311.5/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 311.6/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 311.8/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 311.9/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 312.0/385.2 MB 2.7 MB/s eta 0:00:28
-------------------------------- ------- 312.2/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 312.3/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 312.4/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 312.6/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 312.7/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 312.8/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 313.0/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 313.1/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 313.2/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 313.3/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 313.5/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 313.6/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 313.7/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 313.9/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 314.0/385.2 MB 2.7 MB/s eta 0:00:27
-------------------------------- ------- 314.1/385.2 MB 2.7 MB/s eta 0:00:26
-------------------------------- ------- 314.2/385.2 MB 2.7 MB/s eta 0:00:26
-------------------------------- ------- 314.4/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 314.5/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 314.7/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 314.8/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 314.9/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 315.1/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 315.2/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 315.3/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 315.5/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 315.6/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 315.8/385.2 MB 2.8 MB/s eta 0:00:26
-------------------------------- ------- 315.9/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 316.0/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 316.2/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 316.3/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 316.4/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 316.5/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 316.7/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 316.8/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 316.9/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 317.0/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 317.2/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 317.3/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 317.4/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 317.6/385.2 MB 2.8 MB/s eta 0:00:25
-------------------------------- ------- 317.7/385.2 MB 2.8 MB/s eta 0:00:25
--------------------------------- ------ 317.8/385.2 MB 2.8 MB/s eta 0:00:25
--------------------------------- ------ 317.9/385.2 MB 2.8 MB/s eta 0:00:25
--------------------------------- ------ 318.1/385.2 MB 2.8 MB/s eta 0:00:25
--------------------------------- ------ 318.2/385.2 MB 2.8 MB/s eta 0:00:25
--------------------------------- ------ 318.4/385.2 MB 2.8 MB/s eta 0:00:25
--------------------------------- ------ 318.5/385.2 MB 2.8 MB/s eta 0:00:25
--------------------------------- ------ 318.6/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 318.7/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 318.9/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 319.0/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 319.1/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 319.3/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 319.4/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 319.5/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 319.7/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 319.8/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 319.9/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 320.1/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 320.2/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 320.3/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 320.5/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 320.6/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 320.7/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 320.9/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 321.0/385.2 MB 2.8 MB/s eta 0:00:24
--------------------------------- ------ 321.1/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 321.3/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 321.4/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 321.6/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 321.7/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 321.8/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 322.0/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 322.1/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 322.2/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 322.4/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 322.5/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 322.6/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 322.8/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 322.9/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 323.0/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 323.2/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 323.3/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 323.4/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 323.6/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 323.7/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 323.8/385.2 MB 2.8 MB/s eta 0:00:23
--------------------------------- ------ 323.9/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 324.1/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 324.2/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 324.3/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 324.5/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 324.6/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 324.7/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 324.8/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 325.0/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 325.1/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 325.3/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 325.4/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 325.5/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 325.6/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 325.8/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 325.9/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 326.0/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 326.2/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 326.3/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 326.4/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 326.6/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 326.7/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 326.8/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 327.0/385.2 MB 2.8 MB/s eta 0:00:22
--------------------------------- ------ 327.1/385.2 MB 2.8 MB/s eta 0:00:21
--------------------------------- ------ 327.2/385.2 MB 2.8 MB/s eta 0:00:21
--------------------------------- ------ 327.4/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 327.5/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 327.6/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 327.8/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 327.9/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 328.0/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 328.2/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 328.3/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 328.4/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 328.6/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 328.7/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 328.8/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 329.0/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 329.1/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 329.2/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 329.3/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 329.5/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 329.6/385.2 MB 2.8 MB/s eta 0:00:21
---------------------------------- ----- 329.8/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 329.9/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 330.0/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 330.2/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 330.3/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 330.4/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 330.5/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 330.7/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 330.8/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 331.0/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 331.1/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 331.2/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 331.3/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 331.5/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 331.6/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 331.8/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 331.9/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 332.0/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 332.1/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 332.3/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 332.4/385.2 MB 2.8 MB/s eta 0:00:20
---------------------------------- ----- 332.5/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 332.7/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 332.8/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 332.9/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 333.0/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 333.2/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 333.3/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 333.4/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 333.6/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 333.7/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 333.8/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 334.0/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 334.1/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 334.2/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 334.4/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 334.5/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 334.6/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 334.7/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 334.9/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 335.0/385.2 MB 2.8 MB/s eta 0:00:19
---------------------------------- ----- 335.1/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 335.3/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 335.4/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 335.5/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 335.6/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 335.8/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 335.9/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 336.0/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 336.2/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 336.3/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 336.4/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 336.6/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 336.7/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 336.8/385.2 MB 2.8 MB/s eta 0:00:18
---------------------------------- ----- 337.0/385.2 MB 2.8 MB/s eta 0:00:18
----------------------------------- ---- 337.1/385.2 MB 2.8 MB/s eta 0:00:18
----------------------------------- ---- 337.2/385.2 MB 2.8 MB/s eta 0:00:18
----------------------------------- ---- 337.4/385.2 MB 2.8 MB/s eta 0:00:18
----------------------------------- ---- 337.5/385.2 MB 2.8 MB/s eta 0:00:18
----------------------------------- ---- 337.6/385.2 MB 2.8 MB/s eta 0:00:18
----------------------------------- ---- 337.8/385.2 MB 2.8 MB/s eta 0:00:18
----------------------------------- ---- 337.9/385.2 MB 2.8 MB/s eta 0:00:18
----------------------------------- ---- 338.0/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 338.1/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 338.3/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 338.4/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 338.6/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 338.7/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 338.8/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 339.0/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 339.1/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 339.2/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 339.4/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 339.5/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 339.6/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 339.7/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 339.9/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 340.0/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 340.1/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 340.3/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 340.4/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 340.5/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 340.7/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 340.8/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 340.9/385.2 MB 2.8 MB/s eta 0:00:17
----------------------------------- ---- 341.1/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 341.2/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 341.3/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 341.5/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 341.6/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 341.7/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 341.9/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 342.0/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 342.1/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 342.3/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 342.4/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 342.5/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 342.7/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 342.8/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 342.9/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 343.1/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 343.2/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 343.3/385.2 MB 2.8 MB/s eta 0:00:16
----------------------------------- ---- 343.5/385.2 MB 2.8 MB/s eta 0:00:15
Import Libraries¶
In [2]:
pip install folium
Collecting folium Using cached folium-0.17.0-py2.py3-none-any.whl.metadata (3.8 kB) Collecting branca>=0.6.0 (from folium) Using cached branca-0.7.2-py3-none-any.whl.metadata (1.5 kB) Requirement already satisfied: jinja2>=2.9 in d:\anaconda\lib\site-packages (from folium) (3.1.4) Requirement already satisfied: numpy in d:\anaconda\lib\site-packages (from folium) (1.26.4) Requirement already satisfied: requests in d:\anaconda\lib\site-packages (from folium) (2.32.2) Requirement already satisfied: xyzservices in d:\anaconda\lib\site-packages (from folium) (2022.9.0) Requirement already satisfied: MarkupSafe>=2.0 in d:\anaconda\lib\site-packages (from jinja2>=2.9->folium) (2.1.3) Requirement already satisfied: charset-normalizer<4,>=2 in d:\anaconda\lib\site-packages (from requests->folium) (2.0.4) Requirement already satisfied: idna<4,>=2.5 in d:\anaconda\lib\site-packages (from requests->folium) (3.7) Requirement already satisfied: urllib3<3,>=1.21.1 in d:\anaconda\lib\site-packages (from requests->folium) (2.2.2) Requirement already satisfied: certifi>=2017.4.17 in d:\anaconda\lib\site-packages (from requests->folium) (2024.6.2) Using cached folium-0.17.0-py2.py3-none-any.whl (108 kB) Downloading branca-0.7.2-py3-none-any.whl (25 kB) Installing collected packages: branca, folium Successfully installed branca-0.7.2 folium-0.17.0 Note: you may need to restart the kernel to use updated packages.
In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import folium
from sklearn.preprocessing import LabelEncoder
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.pipeline import make_pipeline
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import classification_report
Generate and Save Synthetic Dataset¶
In [2]:
# Generating synthetic dataset for military bases and geopolitical tensions
data = {
'Base_ID': range(1, 21),
'Base_Name': [f'Base_{i}' for i in range(1, 21)],
'Latitude': np.random.uniform(low=8, high=37, size=20),
'Longitude': np.random.uniform(low=68, high=97, size=20),
'Status': np.random.choice(['Operational', 'Under Maintenance', 'Inactive'], size=20),
'Geopolitical_Tension': np.random.choice(['High', 'Medium', 'Low'], size=20),
'News_Sentiment': np.random.uniform(low=-1, high=1, size=20) # sentiment score
}
df = pd.DataFrame(data)
df.to_csv('military_bases.csv', index=False)
Load Dataset¶
In [3]:
df = pd.read_csv(r'E:\military_bases.csv')
print(df.head())
df.head()
Base_ID Base_Name Latitude Longitude Status \ 0 1 Base_1 16.537303 81.683864 Under Maintenance 1 2 Base_2 22.941793 81.987453 Inactive 2 3 Base_3 8.659434 73.728087 Inactive 3 4 Base_4 22.096507 71.879424 Inactive 4 5 Base_5 12.686359 69.638381 Operational Geopolitical_Tension News_Sentiment 0 Low 0.868011 1 Medium -0.862570 2 High 0.620423 3 High -0.966775 4 High -0.360609
Out[3]:
| Base_ID | Base_Name | Latitude | Longitude | Status | Geopolitical_Tension | News_Sentiment | |
|---|---|---|---|---|---|---|---|
| 0 | 1 | Base_1 | 16.537303 | 81.683864 | Under Maintenance | Low | 0.868011 |
| 1 | 2 | Base_2 | 22.941793 | 81.987453 | Inactive | Medium | -0.862570 |
| 2 | 3 | Base_3 | 8.659434 | 73.728087 | Inactive | High | 0.620423 |
| 3 | 4 | Base_4 | 22.096507 | 71.879424 | Inactive | High | -0.966775 |
| 4 | 5 | Base_5 | 12.686359 | 69.638381 | Operational | High | -0.360609 |
Data Preprocessing¶
In [4]:
# Encoding categorical variables
label_enc = LabelEncoder()
df['Status_Encoded'] = label_enc.fit_transform(df['Status'])
df['Tension_Encoded'] = label_enc.fit_transform(df['Geopolitical_Tension'])
Visualize Basic Information¶
In [165]:
# Step 4: Basic EDA
print("Dataset Shape:", df.shape)
print("Dataset Info:")
print(df.info())
print("Dataset Description:")
print(df.describe())
print("Checking for missing values:")
print(df.isnull().sum())
Dataset Shape: (3, 4)
Dataset Info:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 State 3 non-null object
1 Latitude 3 non-null float64
2 Longitude 3 non-null float64
3 Tension_Level 3 non-null int64
dtypes: float64(2), int64(1), object(1)
memory usage: 228.0+ bytes
None
Dataset Description:
Latitude Longitude Tension_Level
count 3.000000 3.000000 3.0
mean 20.220500 75.893767 4.0
std 7.883705 2.619096 1.0
min 12.971600 72.877700 3.0
25% 16.023800 75.043350 3.5
50% 19.076000 77.209000 4.0
75% 23.844950 77.401800 4.5
max 28.613900 77.594600 5.0
Checking for missing values:
State 0
Latitude 0
Longitude 0
Tension_Level 0
dtype: int64
Create Bar Chart for Military Base Status¶
In [5]:
# Plotting Bar Chart for Military Base Status
status_counts = df['Status'].value_counts()
plt.figure(figsize=(10, 6))
sns.barplot(x=status_counts.index, y=status_counts.values, palette='viridis')
plt.title('Count of Military Bases by Status')
plt.xlabel('Status')
plt.ylabel('Count')
plt.show()
C:\Users\pradu\AppData\Local\Temp\ipykernel_5892\666584068.py:4: FutureWarning: Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect. sns.barplot(x=status_counts.index, y=status_counts.values, palette='viridis')
Create Pie Chart for Geopolitical Tension¶
In [6]:
# Plotting Pie Chart for Geopolitical Tension
tension_counts = df['Geopolitical_Tension'].value_counts()
plt.figure(figsize=(8, 8))
plt.pie(tension_counts, labels=tension_counts.index, autopct='%1.1f%%', startangle=140)
plt.title('Distribution of Geopolitical Tensions')
plt.show()
Create Histogram for News Sentiment¶
In [7]:
# Plotting Histogram for News Sentiment
plt.figure(figsize=(10, 6))
plt.hist(df['News_Sentiment'], bins=10, edgecolor='black')
plt.title('Distribution of News Sentiment')
plt.xlabel('Sentiment Score')
plt.ylabel('Frequency')
plt.show()
Create Scatter Plot for Latitude vs Longitude¶
In [8]:
# Plotting Scatter Plot for Latitude vs Longitude
plt.figure(figsize=(10, 6))
sns.scatterplot(x='Longitude', y='Latitude', hue='Geopolitical_Tension', data=df, palette='coolwarm')
plt.title('Military Bases Location')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.show()
Create Line Chart for News Sentiment¶
In [9]:
# Plotting Line Chart for News Sentiment
plt.figure(figsize=(10, 6))
sns.lineplot(x='Base_ID', y='News_Sentiment', data=df, marker='o')
plt.title('News Sentiment Over Military Bases')
plt.xlabel('Base ID')
plt.ylabel('News Sentiment')
plt.show()
Create Radar Chart for Tension and Sentiment¶
In [10]:
# Radar Chart requires a specific library; for simplicity, we use plotly
import plotly.graph_objects as go
# Prepare data for Radar Chart
categories = ['High', 'Medium', 'Low']
values = df.groupby('Geopolitical_Tension')['News_Sentiment'].mean().reindex(categories).values
fig = go.Figure()
fig.add_trace(go.Scatterpolar(
r=values,
theta=categories,
fill='toself'
))
fig.update_layout(
polar=dict(
radialaxis=dict(visible=True, range=[-1, 1])
),
showlegend=False
)
fig.show()
Create Heatmap for Base Status and Geopolitical Tension¶
In [11]:
# Pivot table for Heatmap
heatmap_data = pd.pivot_table(df, values='Base_ID', index='Status', columns='Geopolitical_Tension', aggfunc='count')
plt.figure(figsize=(10, 6))
sns.heatmap(heatmap_data, annot=True, cmap='YlGnBu')
plt.title('Heatmap of Base Status and Geopolitical Tension')
plt.show()
Create Pairplot for Features¶
In [12]:
# # Pairplot for Numerical Features
sns.pairplot(df[['Latitude', 'Longitude', 'News_Sentiment']], diag_kind='kde')
plt.suptitle('Pairplot of Military Bases Features', y=1.02)
plt.show()
Create Map for Military Bases¶
In [17]:
import pandas as pd
import folium
import webbrowser
# Sample DataFrame creation (Replace this with your actual DataFrame)
# Assuming 'df' is your DataFrame
# df = pd.read_csv('your_data_file.csv') # Example of reading from a CSV file
# Check if 'Latitude' and 'Longitude' columns are present in the DataFrame
required_columns = ['Latitude', 'Longitude', 'Base_Name', 'Status', 'Geopolitical_Tension']
missing_columns = [col for col in required_columns if col not in df.columns]
# Print missing columns
if missing_columns:
print(f"Missing columns: {missing_columns}")
# If 'Latitude' or 'Longitude' is missing, add them with default values
if 'Latitude' not in df.columns:
df['Latitude'] = None # Or use a default value if appropriate
print("'Latitude' column added to DataFrame.")
if 'Longitude' not in df.columns:
df['Longitude'] = None # Or use a default value if appropriate
print("'Longitude' column added to DataFrame.")
# Display the updated DataFrame
print("Updated DataFrame:")
print(df)
# Create Interactive Map with Folium
map = folium.Map(location=[20.5937, 78.9629], zoom_start=5) # Center of India
# Add markers to the map
for _, row in df.iterrows():
if pd.notna(row['Latitude']) and pd.notna(row['Longitude']): # Check if coordinates are not NaN
folium.Marker(
location=[row['Latitude'], row['Longitude']],
popup=f"{row['Base_Name']}: {row['Status']}, Tension: {row['Geopolitical_Tension']}",
icon=folium.Icon(color='blue' if row['Status'] == 'Operational' else 'red')
).add_to(map)
# Save the map to an HTML file
map_filename = 'military_bases_map.html'
map.save(map_filename)
# Display the saved map in a browser (requires a local server or opening manually)
webbrowser.open(map_filename)
Missing columns: ['Latitude', 'Longitude', 'Base_Name', 'Status', 'Geopolitical_Tension']
'Latitude' column added to DataFrame.
'Longitude' column added to DataFrame.
Updated DataFrame:
geopolitical_tension_index cluster Latitude Longitude
date
2023-01-01 1.2 0 None None
2023-01-02 3.4 1 None None
2023-01-03 2.1 2 None None
2023-01-04 4.2 1 None None
2023-01-05 5.6 1 None None
2023-01-06 4.4 1 None None
2023-01-07 3.3 1 None None
2023-01-08 2.2 2 None None
2023-01-09 1.1 0 None None
2023-01-10 0.5 0 None None
Out[17]:
True
In [18]:
import pandas as pd
import folium
import webbrowser
# Sample DataFrame creation (Replace this with your actual DataFrame)
# Assuming 'df' is your DataFrame
# df = pd.read_csv('your_data_file.csv') # Example of reading from a CSV file
# Check if 'Latitude' and 'Longitude' columns are present in the DataFrame
required_columns = ['Latitude', 'Longitude', 'Base_Name', 'Status', 'Geopolitical_Tension']
missing_columns = [col for col in required_columns if col not in df.columns]
# Print missing columns
if missing_columns:
print(f"Missing columns: {missing_columns}")
# If 'Latitude' or 'Longitude' is missing, add them with default values
if 'Latitude' not in df.columns:
df['Latitude'] = None # Or use a default value if appropriate
print("'Latitude' column added to DataFrame.")
if 'Longitude' not in df.columns:
df['Longitude'] = None # Or use a default value if appropriate
print("'Longitude' column added to DataFrame.")
# Display the updated DataFrame
print("Updated DataFrame:")
print(df)
# Create Interactive Map with Folium (world map)
map = folium.Map(location=[0, 0], zoom_start=2) # Center of the world
# Define a custom icon (red triangle)
icon = folium.CustomIcon(icon_image='https://img.icons8.com/ios-filled/50/FF0000/triangle.png', icon_size=(20, 20))
# Add markers to the map
for _, row in df.iterrows():
if pd.notna(row['Latitude']) and pd.notna(row['Longitude']): # Check if coordinates are not NaN
folium.Marker(
location=[row['Latitude'], row['Longitude']],
popup=f"{row['Base_Name']}: {row['Status']}, Tension: {row['Geopolitical_Tension']}",
icon=icon
).add_to(map)
# Save the map to an HTML file
map_filename = 'world_military_bases_map.html'
map.save(map_filename)
# Display the saved map in a browser (requires a local server or opening manually)
webbrowser.open(map_filename)
Missing columns: ['Base_Name', 'Status', 'Geopolitical_Tension']
Updated DataFrame:
geopolitical_tension_index cluster Latitude Longitude
date
2023-01-01 1.2 0 None None
2023-01-02 3.4 1 None None
2023-01-03 2.1 2 None None
2023-01-04 4.2 1 None None
2023-01-05 5.6 1 None None
2023-01-06 4.4 1 None None
2023-01-07 3.3 1 None None
2023-01-08 2.2 2 None None
2023-01-09 1.1 0 None None
2023-01-10 0.5 0 None None
Out[18]:
True
Sentiment Analysis with Simple Text Classification¶
In [14]:
# Assuming some news headlines for sentiment analysis
news_headlines = [
"Increased tensions at military base",
"Peaceful relations with neighboring countries",
"Base operational readiness under review",
"Geopolitical tensions rising in the region"
]
# TF-IDF Vectorizer and Naive Bayes Classifier
tfidf = TfidfVectorizer()
X = tfidf.fit_transform(news_headlines)
y = np.array([1, 0, 1, 1]) # 1: High Tension, 0: Low Tension
model = make_pipeline(TfidfVectorizer(), MultinomialNB())
model.fit(news_headlines, y)
predictions = model.predict(news_headlines)
print("Predictions:", predictions)
Predictions: [1 0 1 1]
PCA for Dimensionality Reductio¶
In [15]:
# PCA for dimensionality reduction
pca = PCA(n_components=2)
pca_result = pca.fit_transform(df[['Latitude', 'Longitude']])
plt.figure(figsize=(10, 6))
plt.scatter(pca_result[:, 0], pca_result[:, 1], c=df['Tension_Encoded'], cmap='viridis')
plt.colorbar(label='Geopolitical Tension')
plt.title('PCA of Military Bases')
plt.xlabel('PCA Component 1')
plt.ylabel('PCA Component 2')
plt.show()
K-Means Clustering for Bases¶
In [16]:
# K-Means Clustering
kmeans = KMeans(n_clusters=3)
clusters = kmeans.fit_predict(df[['Latitude', 'Longitude']])
plt.figure(figsize=(10, 6))
plt.scatter(df['Longitude'], df['Latitude'], c=clusters, cmap='viridis')
plt.title('K-Means Clustering of Military Bases')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.show()
D:\Anaconda\Lib\site-packages\sklearn\cluster\_kmeans.py:1446: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
Advanced Visualization of News Sentiment¶
In [17]:
# Advanced visualization with Seaborn
plt.figure(figsize=(12, 8))
sns.kdeplot(df['News_Sentiment'], fill=True, color='purple')
plt.title('Kernel Density Estimate of News Sentiment')
plt.xlabel('News Sentiment')
plt.ylabel('Density')
plt.show()
Data Cleaning and Feature Engineering¶
In [18]:
# Data cleaning
df['News_Sentiment'] = df['News_Sentiment'].clip(lower=-1, upper=1) # Clipping sentiment values
print(df['News_Sentiment'])
df['News_Sentiment']
# Feature Engineering
df['Sentiment_Category'] = pd.cut(df['News_Sentiment'], bins=[-1, -0.5, 0.5, 1], labels=['Negative', 'Neutral', 'Positive'])
print("\n\n",df['Sentiment_Category'])
df['Sentiment_Category']
0 0.868011 1 -0.862570 2 0.620423 3 -0.966775 4 -0.360609 5 0.319514 6 -0.074969 7 -0.439232 8 -0.524677 9 0.515723 10 0.857362 11 0.992929 12 -0.947990 13 -0.838949 14 -0.126149 15 0.116404 16 -0.752320 17 0.832531 18 0.608803 19 -0.520889 Name: News_Sentiment, dtype: float64 0 Positive 1 Negative 2 Positive 3 Negative 4 Neutral 5 Neutral 6 Neutral 7 Neutral 8 Negative 9 Positive 10 Positive 11 Positive 12 Negative 13 Negative 14 Neutral 15 Neutral 16 Negative 17 Positive 18 Positive 19 Negative Name: Sentiment_Category, dtype: category Categories (3, object): ['Negative' < 'Neutral' < 'Positive']
Out[18]:
0 Positive 1 Negative 2 Positive 3 Negative 4 Neutral 5 Neutral 6 Neutral 7 Neutral 8 Negative 9 Positive 10 Positive 11 Positive 12 Negative 13 Negative 14 Neutral 15 Neutral 16 Negative 17 Positive 18 Positive 19 Negative Name: Sentiment_Category, dtype: category Categories (3, object): ['Negative' < 'Neutral' < 'Positive']
Visualize Sentiment Categories¶
In [19]:
# Bar chart for Sentiment Categories
sentiment_counts = df['Sentiment_Category'].value_counts()
plt.figure(figsize=(10, 6))
sns.barplot(x=sentiment_counts.index, y=sentiment_counts.values, palette='coolwarm')
plt.title('Sentiment Category Distribution')
plt.xlabel('Sentiment Category')
plt.ylabel('Count')
plt.show()
C:\Users\pradu\AppData\Local\Temp\ipykernel_5892\3686427115.py:4: FutureWarning: Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.
Explore Correlation Between Features¶
In [20]:
# Correlation heatmap
corr = df[['Latitude', 'Longitude', 'News_Sentiment']].corr()
plt.figure(figsize=(8, 6))
sns.heatmap(corr, annot=True, cmap='coolwarm', fmt='.2f')
plt.title('Correlation Heatmap')
plt.show()
Machine Learning Model Evaluation¶
In [21]:
# Example of model evaluation (assuming supervised learning task)
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(df[['Latitude', 'Longitude']], df['Tension_Encoded'], test_size=0.3, random_state=42)
model = KMeans(n_clusters=3)
model.fit(X_train)
predictions = model.predict(X_test)
print(classification_report(y_test, predictions))
precision recall f1-score support
0 0.00 0.00 0.00 2
1 1.00 0.33 0.50 3
2 0.20 1.00 0.33 1
accuracy 0.33 6
macro avg 0.40 0.44 0.28 6
weighted avg 0.53 0.33 0.31 6
D:\Anaconda\Lib\site-packages\sklearn\cluster\_kmeans.py:1446: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. D:\Anaconda\Lib\site-packages\sklearn\metrics\_classification.py:1509: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior. D:\Anaconda\Lib\site-packages\sklearn\metrics\_classification.py:1509: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior. D:\Anaconda\Lib\site-packages\sklearn\metrics\_classification.py:1509: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.
Time Series Analysis of Tensions¶
In [22]:
import pandas as pd
import matplotlib.pyplot as plt
# Sample data to define df_tension
data = {
'Date': ['2024-01-01', '2024-01-15', '2024-02-01', '2024-02-15', '2024-03-01'],
'Tension_Level': [5.1, 6.3, 7.2, 6.5, 8.0]
}
# Creating the DataFrame
df_tension = pd.DataFrame(data)
# Converting the 'Date' column to datetime format and setting it as the index
df_tension['Date'] = pd.to_datetime(df_tension['Date'])
df_tension.set_index('Date', inplace=True)
# Resampling the data to get the mean tension level per month and plotting
df_tension['Tension_Level'].resample('M').mean().plot()
plt.title('Monthly Geopolitical Tension Levels')
plt.xlabel('Date')
plt.ylabel('Tension Level')
plt.show()
C:\Users\pradu\AppData\Local\Temp\ipykernel_5892\1788281171.py:18: FutureWarning: 'M' is deprecated and will be removed in a future version, please use 'ME' instead.
Sentiment Analysis of Geopolitical News¶
In [24]:
pip install textblob
Collecting textblobNote: you may need to restart the kernel to use updated packages. Using cached textblob-0.18.0.post0-py3-none-any.whl.metadata (4.5 kB) Requirement already satisfied: nltk>=3.8 in d:\anaconda\lib\site-packages (from textblob) (3.8.1) Requirement already satisfied: click in d:\anaconda\lib\site-packages (from nltk>=3.8->textblob) (8.1.7) Requirement already satisfied: joblib in d:\anaconda\lib\site-packages (from nltk>=3.8->textblob) (1.4.2) Requirement already satisfied: regex>=2021.8.3 in d:\anaconda\lib\site-packages (from nltk>=3.8->textblob) (2023.10.3) Requirement already satisfied: tqdm in d:\anaconda\lib\site-packages (from nltk>=3.8->textblob) (4.66.4) Requirement already satisfied: colorama in d:\anaconda\lib\site-packages (from click->nltk>=3.8->textblob) (0.4.6) Using cached textblob-0.18.0.post0-py3-none-any.whl (626 kB) Installing collected packages: textblob Successfully installed textblob-0.18.0.post0
In [25]:
import pandas as pd
from textblob import TextBlob
# Sample data to create the DataFrame with matching lengths
data = {
'Date': [
'2024-09-01', '2024-09-02', '2024-09-03',
'2024-09-04', '2024-09-05', '2024-09-06',
'2024-09-07', '2024-09-08'
],
'content': [
'Global markets are volatile due to geopolitical tensions.',
'The new trade agreement has boosted market confidence.',
'Political instability in some regions is causing concerns.',
'The geopolitical situation is worsening rapidly.',
'There are some signs of diplomatic efforts yielding results.',
'The peace talks have broken down, leading to more uncertainty.',
'Economic sanctions are being lifted as relations improve.',
'Tensions are rising again as negotiations stall.'
]
}
# Creating the DataFrame
df_news = pd.DataFrame(data)
# Converting the 'Date' column to datetime
df_news['Date'] = pd.to_datetime(df_news['Date'])
# Applying sentiment analysis to the 'content' column
df_news['sentiment'] = df_news['content'].apply(lambda x: TextBlob(x).sentiment.polarity)
# Display the DataFrame to ensure it is correctly defined
print(df_news)
Date content sentiment 0 2024-09-01 Global markets are volatile due to geopolitica... -0.062500 1 2024-09-02 The new trade agreement has boosted market con... 0.136364 2 2024-09-03 Political instability in some regions is causi... 0.000000 3 2024-09-04 The geopolitical situation is worsening rapidly. 0.000000 4 2024-09-05 There are some signs of diplomatic efforts yie... 0.000000 5 2024-09-06 The peace talks have broken down, leading to m... -0.018519 6 2024-09-07 Economic sanctions are being lifted as relatio... 0.200000 7 2024-09-08 Tensions are rising again as negotiations stall. 0.000000
Topic Modeling of News Articles¶
In [26]:
from sklearn.decomposition import LatentDirichletAllocation as LDA
# Vectorize the news content
tfidf_vectorizer = TfidfVectorizer(max_features=5000)
tfidf_matrix = tfidf_vectorizer.fit_transform(df_news['content'])
# Apply LDA
lda = LDA(n_components=10, random_state=42)
lda.fit(tfidf_matrix)
# Display topics
for i, topic in enumerate(lda.components_):
print(f"Topic {i}:")
print([tfidf_vectorizer.get_feature_names_out()[index] for index in topic.argsort()[-10:]])
Topic 0: ['some', 'the', 'are', 'as', 'lifted', 'relations', 'improve', 'being', 'economic', 'sanctions'] Topic 1: ['market', 'trade', 'tensions', 'as', 'to', 'geopolitical', 'is', 'some', 'the', 'are'] Topic 2: ['the', 'to', 'down', 'talks', 'peace', 'more', 'have', 'uncertainty', 'leading', 'broken'] Topic 3: ['agreement', 'market', 'boosted', 'has', 'causing', 'instability', 'regions', 'political', 'in', 'concerns'] Topic 4: ['market', 'trade', 'tensions', 'as', 'to', 'geopolitical', 'is', 'some', 'the', 'are'] Topic 5: ['market', 'trade', 'tensions', 'as', 'to', 'geopolitical', 'is', 'some', 'the', 'are'] Topic 6: ['is', 'some', 'the', 'are', 'tensions', 'as', 'rising', 'negotiations', 'stall', 'again'] Topic 7: ['market', 'trade', 'tensions', 'as', 'to', 'geopolitical', 'is', 'some', 'the', 'are'] Topic 8: ['some', 'the', 'are', 'tensions', 'geopolitical', 'to', 'due', 'global', 'volatile', 'markets'] Topic 9: ['signs', 'results', 'efforts', 'diplomatic', 'yielding', 'geopolitical', 'is', 'rapidly', 'worsening', 'situation']
Clustering of Tension Hotspots¶
In [27]:
import pandas as pd
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
import numpy as np
# Create a sample DataFrame with missing 'Latitude' and 'Longitude' columns for demonstration
data = {
'Tension_Level': [1, 2, 3, 4, 5, 6, 7, 8],
# Missing 'Latitude' and 'Longitude' columns initially
}
df_tension = pd.DataFrame(data)
# Display the DataFrame to check its contents
print("Initial DataFrame:")
print(df_tension)
# Check if 'Latitude' and 'Longitude' columns are in the DataFrame
required_columns = ['Latitude', 'Longitude', 'Tension_Level']
missing_columns = [col for col in required_columns if col not in df_tension.columns]
# If missing columns are found, add them with default values (for demonstration)
if missing_columns:
for col in missing_columns:
# Add missing columns with dummy data (e.g., random values)
df_tension[col] = np.random.rand(len(df_tension)) * 100 # Example random values
# Display the DataFrame after adding missing columns
print("\nDataFrame after adding missing columns:")
print(df_tension)
# Apply KMeans clustering
X = df_tension[['Latitude', 'Longitude', 'Tension_Level']]
kmeans = KMeans(n_clusters=5, random_state=42)
df_tension['Cluster'] = kmeans.fit_predict(X)
# Plot clusters on a scatter plot (without map visualization)
plt.scatter(df_tension['Longitude'], df_tension['Latitude'], c=df_tension['Cluster'], cmap='viridis')
plt.title('Geopolitical Tension Hotspots Clustering')
plt.xlabel('Longitude')
plt.ylabel('Latitude')
plt.show()
Initial DataFrame: Tension_Level 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 DataFrame after adding missing columns: Tension_Level Latitude Longitude 0 1 74.022796 46.957850 1 2 57.597434 69.944491 2 3 24.201287 48.045599 3 4 99.581394 93.810142 4 5 18.264367 59.720678 5 6 59.958399 61.600248 6 7 8.613933 3.604355 7 8 40.893355 39.199866
D:\Anaconda\Lib\site-packages\sklearn\cluster\_kmeans.py:1446: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1.
Correlation Analysis of Tensions and Military Movements¶
In [28]:
import pandas as pd
import numpy as np
# Sample data creation
data = {
'date': pd.date_range(start='1/1/2023', periods=10),
'geopolitical_tension_index': np.random.randint(50, 100, size=10),
'military_movement_index': np.random.randint(10, 50, size=10)
}
df = pd.DataFrame(data)
# Correlation Analysis
correlation = df['geopolitical_tension_index'].corr(df['military_movement_index'])
print("Correlation between geopolitical tensions and military movements:", correlation)
Correlation between geopolitical tensions and military movements: 0.33545489027815906
Prediction of Future Geopolitical Tensions¶
In [29]:
from sklearn.linear_model import LinearRegression
# Example data
X = np.array(df.index).reshape(-1, 1) # Features: time
y = df['geopolitical_tension_index'] # Target: tension index
# Linear Regression Model
model = LinearRegression()
model.fit(X, y)
# Predict future tension index
future_index = np.array([len(df) + i for i in range(1, 6)]).reshape(-1, 1)
predicted_tensions = model.predict(future_index)
print("Predicted geopolitical tensions:", predicted_tensions)
Predicted geopolitical tensions: [78.95757576 79.38181818 79.80606061 80.23030303 80.65454545]
Visualization of Predicted Tension Hotspots¶
In [30]:
import matplotlib.pyplot as plt
# Plotting Tension Hotspots
plt.plot(df['date'], df['geopolitical_tension_index'], label='Historical Tensions')
plt.plot(pd.date_range(start=df['date'].iloc[-1], periods=6, freq='D')[1:], predicted_tensions, label='Predicted Tensions', linestyle='--')
plt.legend()
plt.title("Geopolitical Tension Hotspots")
plt.xlabel("Date")
plt.ylabel("Tension Index")
plt.show()
Dynamic Dashboard Creation for Monitoring¶
In [32]:
pip install dash
Collecting dash
Downloading dash-2.17.1-py3-none-any.whl.metadata (10 kB)
Requirement already satisfied: Flask<3.1,>=1.0.4 in d:\anaconda\lib\site-packages (from dash) (3.0.3)
Requirement already satisfied: Werkzeug<3.1 in d:\anaconda\lib\site-packages (from dash) (3.0.3)
Requirement already satisfied: plotly>=5.0.0 in d:\anaconda\lib\site-packages (from dash) (5.22.0)
Collecting dash-html-components==2.0.0 (from dash)
Downloading dash_html_components-2.0.0-py3-none-any.whl.metadata (3.8 kB)
Collecting dash-core-components==2.0.0 (from dash)
Downloading dash_core_components-2.0.0-py3-none-any.whl.metadata (2.9 kB)
Collecting dash-table==5.0.0 (from dash)
Downloading dash_table-5.0.0-py3-none-any.whl.metadata (2.4 kB)
Requirement already satisfied: importlib-metadata in d:\anaconda\lib\site-packages (from dash) (7.0.1)
Requirement already satisfied: typing-extensions>=4.1.1 in d:\anaconda\lib\site-packages (from dash) (4.11.0)
Requirement already satisfied: requests in d:\anaconda\lib\site-packages (from dash) (2.32.2)
Collecting retrying (from dash)
Downloading retrying-1.3.4-py3-none-any.whl.metadata (6.9 kB)
Requirement already satisfied: nest-asyncio in d:\anaconda\lib\site-packages (from dash) (1.6.0)
Requirement already satisfied: setuptools in d:\anaconda\lib\site-packages (from dash) (69.5.1)
Requirement already satisfied: Jinja2>=3.1.2 in d:\anaconda\lib\site-packages (from Flask<3.1,>=1.0.4->dash) (3.1.4)
Requirement already satisfied: itsdangerous>=2.1.2 in d:\anaconda\lib\site-packages (from Flask<3.1,>=1.0.4->dash) (2.2.0)
Requirement already satisfied: click>=8.1.3 in d:\anaconda\lib\site-packages (from Flask<3.1,>=1.0.4->dash) (8.1.7)
Requirement already satisfied: blinker>=1.6.2 in d:\anaconda\lib\site-packages (from Flask<3.1,>=1.0.4->dash) (1.6.2)
Requirement already satisfied: tenacity>=6.2.0 in d:\anaconda\lib\site-packages (from plotly>=5.0.0->dash) (8.2.2)
Requirement already satisfied: packaging in d:\anaconda\lib\site-packages (from plotly>=5.0.0->dash) (23.2)
Requirement already satisfied: MarkupSafe>=2.1.1 in d:\anaconda\lib\site-packages (from Werkzeug<3.1->dash) (2.1.3)
Requirement already satisfied: zipp>=0.5 in d:\anaconda\lib\site-packages (from importlib-metadata->dash) (3.17.0)
Requirement already satisfied: charset-normalizer<4,>=2 in d:\anaconda\lib\site-packages (from requests->dash) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in d:\anaconda\lib\site-packages (from requests->dash) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in d:\anaconda\lib\site-packages (from requests->dash) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in d:\anaconda\lib\site-packages (from requests->dash) (2024.6.2)
Requirement already satisfied: six>=1.7.0 in d:\anaconda\lib\site-packages (from retrying->dash) (1.16.0)
Requirement already satisfied: colorama in d:\anaconda\lib\site-packages (from click>=8.1.3->Flask<3.1,>=1.0.4->dash) (0.4.6)
Downloading dash-2.17.1-py3-none-any.whl (7.5 MB)
---------------------------------------- 0.0/7.5 MB ? eta -:--:--
---------------------------------------- 0.0/7.5 MB ? eta -:--:--
---------------------------------------- 0.0/7.5 MB 495.5 kB/s eta 0:00:16
---------------------------------------- 0.1/7.5 MB 751.6 kB/s eta 0:00:10
--------------------------------------- 0.2/7.5 MB 984.6 kB/s eta 0:00:08
- -------------------------------------- 0.2/7.5 MB 986.4 kB/s eta 0:00:08
- -------------------------------------- 0.3/7.5 MB 1.1 MB/s eta 0:00:07
- -------------------------------------- 0.3/7.5 MB 1.1 MB/s eta 0:00:07
-- ------------------------------------- 0.4/7.5 MB 1.1 MB/s eta 0:00:07
-- ------------------------------------- 0.5/7.5 MB 1.1 MB/s eta 0:00:07
-- ------------------------------------- 0.5/7.5 MB 1.1 MB/s eta 0:00:07
-- ------------------------------------- 0.5/7.5 MB 1.0 MB/s eta 0:00:07
-- ------------------------------------- 0.5/7.5 MB 1.0 MB/s eta 0:00:07
-- ------------------------------------- 0.5/7.5 MB 1.0 MB/s eta 0:00:07
--- ------------------------------------ 0.6/7.5 MB 992.1 kB/s eta 0:00:07
--- ------------------------------------ 0.7/7.5 MB 1.0 MB/s eta 0:00:07
--- ------------------------------------ 0.7/7.5 MB 1.0 MB/s eta 0:00:07
---- ----------------------------------- 0.8/7.5 MB 1.0 MB/s eta 0:00:07
---- ----------------------------------- 0.8/7.5 MB 1.0 MB/s eta 0:00:07
---- ----------------------------------- 0.9/7.5 MB 1.0 MB/s eta 0:00:07
----- ---------------------------------- 1.0/7.5 MB 1.0 MB/s eta 0:00:07
----- ---------------------------------- 1.0/7.5 MB 1.0 MB/s eta 0:00:07
----- ---------------------------------- 1.1/7.5 MB 1.1 MB/s eta 0:00:07
------ --------------------------------- 1.2/7.5 MB 1.1 MB/s eta 0:00:06
------ --------------------------------- 1.2/7.5 MB 1.1 MB/s eta 0:00:06
------ --------------------------------- 1.3/7.5 MB 1.1 MB/s eta 0:00:06
------- -------------------------------- 1.3/7.5 MB 1.1 MB/s eta 0:00:06
------- -------------------------------- 1.4/7.5 MB 1.1 MB/s eta 0:00:06
------- -------------------------------- 1.4/7.5 MB 1.1 MB/s eta 0:00:06
-------- ------------------------------- 1.5/7.5 MB 1.1 MB/s eta 0:00:06
-------- ------------------------------- 1.6/7.5 MB 1.1 MB/s eta 0:00:06
-------- ------------------------------- 1.6/7.5 MB 1.1 MB/s eta 0:00:06
--------- ------------------------------ 1.7/7.5 MB 1.1 MB/s eta 0:00:06
--------- ------------------------------ 1.8/7.5 MB 1.1 MB/s eta 0:00:06
--------- ------------------------------ 1.8/7.5 MB 1.1 MB/s eta 0:00:06
--------- ------------------------------ 1.9/7.5 MB 1.1 MB/s eta 0:00:05
---------- ----------------------------- 1.9/7.5 MB 1.1 MB/s eta 0:00:05
---------- ----------------------------- 2.0/7.5 MB 1.1 MB/s eta 0:00:05
---------- ----------------------------- 2.0/7.5 MB 1.1 MB/s eta 0:00:05
----------- ---------------------------- 2.1/7.5 MB 1.1 MB/s eta 0:00:05
----------- ---------------------------- 2.2/7.5 MB 1.1 MB/s eta 0:00:05
----------- ---------------------------- 2.2/7.5 MB 1.1 MB/s eta 0:00:05
------------ --------------------------- 2.3/7.5 MB 1.1 MB/s eta 0:00:05
------------ --------------------------- 2.3/7.5 MB 1.1 MB/s eta 0:00:05
------------ --------------------------- 2.4/7.5 MB 1.2 MB/s eta 0:00:05
------------- -------------------------- 2.5/7.5 MB 1.1 MB/s eta 0:00:05
------------- -------------------------- 2.5/7.5 MB 1.2 MB/s eta 0:00:05
------------- -------------------------- 2.6/7.5 MB 1.1 MB/s eta 0:00:05
-------------- ------------------------- 2.6/7.5 MB 1.1 MB/s eta 0:00:05
-------------- ------------------------- 2.7/7.5 MB 1.2 MB/s eta 0:00:05
-------------- ------------------------- 2.8/7.5 MB 1.2 MB/s eta 0:00:05
--------------- ------------------------ 2.8/7.5 MB 1.2 MB/s eta 0:00:05
--------------- ------------------------ 2.9/7.5 MB 1.2 MB/s eta 0:00:04
--------------- ------------------------ 2.9/7.5 MB 1.2 MB/s eta 0:00:04
---------------- ----------------------- 3.0/7.5 MB 1.2 MB/s eta 0:00:04
---------------- ----------------------- 3.1/7.5 MB 1.2 MB/s eta 0:00:04
---------------- ----------------------- 3.1/7.5 MB 1.2 MB/s eta 0:00:04
----------------- ---------------------- 3.2/7.5 MB 1.2 MB/s eta 0:00:04
----------------- ---------------------- 3.2/7.5 MB 1.2 MB/s eta 0:00:04
----------------- ---------------------- 3.3/7.5 MB 1.2 MB/s eta 0:00:04
----------------- ---------------------- 3.4/7.5 MB 1.2 MB/s eta 0:00:04
------------------ --------------------- 3.4/7.5 MB 1.2 MB/s eta 0:00:04
------------------ --------------------- 3.5/7.5 MB 1.2 MB/s eta 0:00:04
------------------ --------------------- 3.5/7.5 MB 1.2 MB/s eta 0:00:04
------------------- -------------------- 3.6/7.5 MB 1.2 MB/s eta 0:00:04
------------------- -------------------- 3.7/7.5 MB 1.2 MB/s eta 0:00:04
------------------- -------------------- 3.7/7.5 MB 1.2 MB/s eta 0:00:04
-------------------- ------------------- 3.8/7.5 MB 1.2 MB/s eta 0:00:04
-------------------- ------------------- 3.9/7.5 MB 1.2 MB/s eta 0:00:03
--------------------- ------------------ 4.0/7.5 MB 1.2 MB/s eta 0:00:03
--------------------- ------------------ 4.1/7.5 MB 1.2 MB/s eta 0:00:03
---------------------- ----------------- 4.1/7.5 MB 1.2 MB/s eta 0:00:03
---------------------- ----------------- 4.2/7.5 MB 1.2 MB/s eta 0:00:03
---------------------- ----------------- 4.3/7.5 MB 1.2 MB/s eta 0:00:03
----------------------- ---------------- 4.4/7.5 MB 1.2 MB/s eta 0:00:03
----------------------- ---------------- 4.4/7.5 MB 1.2 MB/s eta 0:00:03
----------------------- ---------------- 4.5/7.5 MB 1.2 MB/s eta 0:00:03
------------------------ --------------- 4.5/7.5 MB 1.2 MB/s eta 0:00:03
------------------------ --------------- 4.6/7.5 MB 1.2 MB/s eta 0:00:03
------------------------- -------------- 4.7/7.5 MB 1.2 MB/s eta 0:00:03
------------------------- -------------- 4.7/7.5 MB 1.2 MB/s eta 0:00:03
------------------------- -------------- 4.8/7.5 MB 1.2 MB/s eta 0:00:03
-------------------------- ------------- 4.9/7.5 MB 1.2 MB/s eta 0:00:03
-------------------------- ------------- 5.0/7.5 MB 1.2 MB/s eta 0:00:03
--------------------------- ------------ 5.1/7.5 MB 1.2 MB/s eta 0:00:02
--------------------------- ------------ 5.1/7.5 MB 1.2 MB/s eta 0:00:02
--------------------------- ------------ 5.2/7.5 MB 1.2 MB/s eta 0:00:02
---------------------------- ----------- 5.3/7.5 MB 1.3 MB/s eta 0:00:02
---------------------------- ----------- 5.3/7.5 MB 1.3 MB/s eta 0:00:02
---------------------------- ----------- 5.4/7.5 MB 1.3 MB/s eta 0:00:02
----------------------------- ---------- 5.5/7.5 MB 1.3 MB/s eta 0:00:02
----------------------------- ---------- 5.6/7.5 MB 1.3 MB/s eta 0:00:02
----------------------------- ---------- 5.6/7.5 MB 1.3 MB/s eta 0:00:02
------------------------------ --------- 5.7/7.5 MB 1.3 MB/s eta 0:00:02
------------------------------ --------- 5.7/7.5 MB 1.3 MB/s eta 0:00:02
------------------------------- -------- 5.8/7.5 MB 1.3 MB/s eta 0:00:02
------------------------------- -------- 5.9/7.5 MB 1.3 MB/s eta 0:00:02
------------------------------- -------- 6.0/7.5 MB 1.3 MB/s eta 0:00:02
-------------------------------- ------- 6.0/7.5 MB 1.3 MB/s eta 0:00:02
-------------------------------- ------- 6.1/7.5 MB 1.3 MB/s eta 0:00:02
--------------------------------- ------ 6.2/7.5 MB 1.3 MB/s eta 0:00:02
--------------------------------- ------ 6.3/7.5 MB 1.3 MB/s eta 0:00:01
--------------------------------- ------ 6.3/7.5 MB 1.3 MB/s eta 0:00:01
---------------------------------- ----- 6.5/7.5 MB 1.3 MB/s eta 0:00:01
----------------------------------- ---- 6.6/7.5 MB 1.3 MB/s eta 0:00:01
----------------------------------- ---- 6.7/7.5 MB 1.3 MB/s eta 0:00:01
------------------------------------ --- 6.8/7.5 MB 1.3 MB/s eta 0:00:01
------------------------------------ --- 6.9/7.5 MB 1.3 MB/s eta 0:00:01
------------------------------------- -- 7.0/7.5 MB 1.3 MB/s eta 0:00:01
------------------------------------- -- 7.1/7.5 MB 1.3 MB/s eta 0:00:01
-------------------------------------- - 7.2/7.5 MB 1.3 MB/s eta 0:00:01
--------------------------------------- 7.3/7.5 MB 1.4 MB/s eta 0:00:01
--------------------------------------- 7.4/7.5 MB 1.4 MB/s eta 0:00:01
--------------------------------------- 7.5/7.5 MB 1.4 MB/s eta 0:00:01
---------------------------------------- 7.5/7.5 MB 1.4 MB/s eta 0:00:00
Downloading dash_core_components-2.0.0-py3-none-any.whl (3.8 kB)
Downloading dash_html_components-2.0.0-py3-none-any.whl (4.1 kB)
Downloading dash_table-5.0.0-py3-none-any.whl (3.9 kB)
Downloading retrying-1.3.4-py3-none-any.whl (11 kB)
Installing collected packages: dash-table, dash-html-components, dash-core-components, retrying, dash
Successfully installed dash-2.17.1 dash-core-components-2.0.0 dash-html-components-2.0.0 dash-table-5.0.0 retrying-1.3.4
Note: you may need to restart the kernel to use updated packages.
In [19]:
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import pandas as pd
# Sample data for demonstration
df = pd.DataFrame({
'date': pd.date_range(start='1/1/2023', periods=100),
'geopolitical_tension_index': range(100)
})
app = dash.Dash(__name__)
app.layout = html.Div([
html.H1("Geopolitical Tension Monitoring Dashboard"),
dcc.Graph(id='tension-graph'),
dcc.Interval(id='interval-component', interval=1000, n_intervals=0)
])
@app.callback(
Output('tension-graph', 'figure'),
[Input('interval-component', 'n_intervals')]
)
def update_graph(n):
fig = {
'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
'layout': {'title': 'Geopolitical Tensions Over Time'}
}
return fig
if __name__ == '__main__':
app.run_server(debug=True)
C:\Users\pradu\AppData\Local\Temp\ipykernel_12248\1980176262.py:2: UserWarning: The dash_core_components package is deprecated. Please replace `import dash_core_components as dcc` with `from dash import dcc` import dash_core_components as dcc C:\Users\pradu\AppData\Local\Temp\ipykernel_12248\1980176262.py:3: UserWarning: The dash_html_components package is deprecated. Please replace `import dash_html_components as html` with `from dash import html` import dash_html_components as html
Integration with Real-Time News Feeds¶
In [34]:
# Simulated real-time news feed data (in practice, would use an API)
news_feed = [
"Tension rises between countries A and B.",
"Military buildup observed near border of country C.",
"Peace talks successful in region X."
]
print("News Feed : ", news_feed)
# Sentiment Analysis on news feed
from textblob import TextBlob
def analyze_sentiment(news):
sentiment = TextBlob(news).sentiment.polarity
return sentiment
sentiments = [analyze_sentiment(news) for news in news_feed]
print("\nSentiments of news feed:", sentiments)
News Feed : ['Tension rises between countries A and B.', 'Military buildup observed near border of country C.', 'Peace talks successful in region X.'] Sentiments of news feed: [0.0, 0.0, 0.75]
Anomaly Detection in Military Base Activity¶
In [35]:
from sklearn.ensemble import IsolationForest
# Sample data for military base activity
military_activity = np.random.normal(100, 10, 100).tolist() + [200, 250] # adding anomalies
df_activity = pd.DataFrame({'activity_level': military_activity})
# Anomaly Detection Model
iso_forest = IsolationForest(contamination=0.05)
df_activity['anomaly'] = iso_forest.fit_predict(df_activity[['activity_level']])
anomalies = df_activity[df_activity['anomaly'] == -1]
print("Anomalies in military base activity:", anomalies)
Anomalies in military base activity: activity_level anomaly 1 128.675044 -1 15 76.892433 -1 26 76.058342 -1 89 79.962977 -1 100 200.000000 -1 101 250.000000 -1
Heatmap of Tension Intensity Over Time¶
In [36]:
import seaborn as sns
# Sample tension data
tension_matrix = np.random.rand(10, 10) * 100
# Heatmap Visualization
sns.heatmap(tension_matrix, annot=True, cmap="YlGnBu")
plt.title("Heatmap of Tension Intensity Over Time")
plt.show()
Trend Analysis of Defense Expenditure¶
In [37]:
# Sample data
df_expenditure = pd.DataFrame({
'year': np.arange(2010, 2020),
'defense_expenditure': np.random.randint(100, 500, 10)
})
# Trend Analysis
df_expenditure['rolling_avg'] = df_expenditure['defense_expenditure'].rolling(window=3).mean()
df_expenditure.plot(x='year', y=['defense_expenditure', 'rolling_avg'])
plt.title("Trend Analysis of Defense Expenditure")
plt.show()
Mapping of International Military Bases¶
In [39]:
pip install geopandas
Collecting geopandas
Using cached geopandas-1.0.1-py3-none-any.whl.metadata (2.2 kB)
Requirement already satisfied: numpy>=1.22 in d:\anaconda\lib\site-packages (from geopandas) (1.26.4)
Collecting pyogrio>=0.7.2 (from geopandas)
Using cached pyogrio-0.9.0-cp312-cp312-win_amd64.whl.metadata (3.9 kB)
Requirement already satisfied: packaging in d:\anaconda\lib\site-packages (from geopandas) (23.2)
Requirement already satisfied: pandas>=1.4.0 in d:\anaconda\lib\site-packages (from geopandas) (2.2.2)
Collecting pyproj>=3.3.0 (from geopandas)
Using cached pyproj-3.6.1-cp312-cp312-win_amd64.whl.metadata (31 kB)
Collecting shapely>=2.0.0 (from geopandas)
Using cached shapely-2.0.6-cp312-cp312-win_amd64.whl.metadata (7.2 kB)
Requirement already satisfied: python-dateutil>=2.8.2 in d:\anaconda\lib\site-packages (from pandas>=1.4.0->geopandas) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in d:\anaconda\lib\site-packages (from pandas>=1.4.0->geopandas) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in d:\anaconda\lib\site-packages (from pandas>=1.4.0->geopandas) (2023.3)
Requirement already satisfied: certifi in d:\anaconda\lib\site-packages (from pyogrio>=0.7.2->geopandas) (2024.6.2)
Requirement already satisfied: six>=1.5 in d:\anaconda\lib\site-packages (from python-dateutil>=2.8.2->pandas>=1.4.0->geopandas) (1.16.0)
Using cached geopandas-1.0.1-py3-none-any.whl (323 kB)
Downloading pyogrio-0.9.0-cp312-cp312-win_amd64.whl (15.9 MB)
---------------------------------------- 0.0/15.9 MB ? eta -:--:--
---------------------------------------- 0.0/15.9 MB ? eta -:--:--
---------------------------------------- 0.0/15.9 MB 217.9 kB/s eta 0:01:13
---------------------------------------- 0.0/15.9 MB 217.9 kB/s eta 0:01:13
---------------------------------------- 0.1/15.9 MB 363.1 kB/s eta 0:00:44
---------------------------------------- 0.1/15.9 MB 599.1 kB/s eta 0:00:27
--------------------------------------- 0.2/15.9 MB 888.4 kB/s eta 0:00:18
--------------------------------------- 0.3/15.9 MB 1.1 MB/s eta 0:00:15
- -------------------------------------- 0.4/15.9 MB 1.3 MB/s eta 0:00:12
- -------------------------------------- 0.5/15.9 MB 1.5 MB/s eta 0:00:11
- -------------------------------------- 0.7/15.9 MB 1.6 MB/s eta 0:00:10
-- ------------------------------------- 0.8/15.9 MB 1.7 MB/s eta 0:00:09
-- ------------------------------------- 0.9/15.9 MB 1.8 MB/s eta 0:00:09
-- ------------------------------------- 1.0/15.9 MB 1.9 MB/s eta 0:00:08
-- ------------------------------------- 1.1/15.9 MB 1.9 MB/s eta 0:00:08
-- ------------------------------------- 1.1/15.9 MB 1.9 MB/s eta 0:00:08
--- ------------------------------------ 1.2/15.9 MB 1.8 MB/s eta 0:00:08
--- ------------------------------------ 1.4/15.9 MB 1.9 MB/s eta 0:00:08
--- ------------------------------------ 1.4/15.9 MB 1.9 MB/s eta 0:00:08
--- ------------------------------------ 1.5/15.9 MB 1.8 MB/s eta 0:00:08
--- ------------------------------------ 1.5/15.9 MB 1.8 MB/s eta 0:00:09
--- ------------------------------------ 1.6/15.9 MB 1.7 MB/s eta 0:00:09
---- ----------------------------------- 1.8/15.9 MB 1.9 MB/s eta 0:00:08
---- ----------------------------------- 1.9/15.9 MB 1.9 MB/s eta 0:00:08
----- ---------------------------------- 2.1/15.9 MB 2.0 MB/s eta 0:00:08
----- ---------------------------------- 2.2/15.9 MB 2.0 MB/s eta 0:00:07
----- ---------------------------------- 2.3/15.9 MB 2.0 MB/s eta 0:00:07
----- ---------------------------------- 2.4/15.9 MB 2.0 MB/s eta 0:00:07
------ --------------------------------- 2.5/15.9 MB 2.0 MB/s eta 0:00:07
------ --------------------------------- 2.6/15.9 MB 2.0 MB/s eta 0:00:07
------ --------------------------------- 2.7/15.9 MB 2.0 MB/s eta 0:00:07
------- -------------------------------- 2.8/15.9 MB 2.0 MB/s eta 0:00:07
------- -------------------------------- 2.9/15.9 MB 2.1 MB/s eta 0:00:07
------- -------------------------------- 3.0/15.9 MB 2.1 MB/s eta 0:00:07
------- -------------------------------- 3.2/15.9 MB 2.1 MB/s eta 0:00:07
-------- ------------------------------- 3.3/15.9 MB 2.1 MB/s eta 0:00:07
-------- ------------------------------- 3.4/15.9 MB 2.1 MB/s eta 0:00:06
-------- ------------------------------- 3.5/15.9 MB 2.1 MB/s eta 0:00:06
--------- ------------------------------ 3.6/15.9 MB 2.1 MB/s eta 0:00:06
--------- ------------------------------ 3.7/15.9 MB 2.1 MB/s eta 0:00:06
--------- ------------------------------ 3.8/15.9 MB 2.1 MB/s eta 0:00:06
--------- ------------------------------ 3.9/15.9 MB 2.2 MB/s eta 0:00:06
---------- ----------------------------- 4.0/15.9 MB 2.2 MB/s eta 0:00:06
---------- ----------------------------- 4.2/15.9 MB 2.2 MB/s eta 0:00:06
---------- ----------------------------- 4.3/15.9 MB 2.2 MB/s eta 0:00:06
----------- ---------------------------- 4.4/15.9 MB 2.2 MB/s eta 0:00:06
----------- ---------------------------- 4.5/15.9 MB 2.2 MB/s eta 0:00:06
----------- ---------------------------- 4.7/15.9 MB 2.2 MB/s eta 0:00:06
------------ --------------------------- 4.8/15.9 MB 2.2 MB/s eta 0:00:06
------------ --------------------------- 4.9/15.9 MB 2.2 MB/s eta 0:00:05
------------ --------------------------- 5.0/15.9 MB 2.2 MB/s eta 0:00:05
------------- -------------------------- 5.2/15.9 MB 2.2 MB/s eta 0:00:05
------------- -------------------------- 5.3/15.9 MB 2.2 MB/s eta 0:00:05
------------- -------------------------- 5.4/15.9 MB 2.3 MB/s eta 0:00:05
------------- -------------------------- 5.5/15.9 MB 2.3 MB/s eta 0:00:05
-------------- ------------------------- 5.6/15.9 MB 2.3 MB/s eta 0:00:05
-------------- ------------------------- 5.7/15.9 MB 2.3 MB/s eta 0:00:05
-------------- ------------------------- 5.8/15.9 MB 2.3 MB/s eta 0:00:05
--------------- ------------------------ 6.0/15.9 MB 2.3 MB/s eta 0:00:05
--------------- ------------------------ 6.1/15.9 MB 2.3 MB/s eta 0:00:05
--------------- ------------------------ 6.2/15.9 MB 2.3 MB/s eta 0:00:05
--------------- ------------------------ 6.3/15.9 MB 2.3 MB/s eta 0:00:05
---------------- ----------------------- 6.4/15.9 MB 2.3 MB/s eta 0:00:05
---------------- ----------------------- 6.6/15.9 MB 2.3 MB/s eta 0:00:05
---------------- ----------------------- 6.7/15.9 MB 2.3 MB/s eta 0:00:05
----------------- ---------------------- 6.8/15.9 MB 2.3 MB/s eta 0:00:04
----------------- ---------------------- 7.0/15.9 MB 2.3 MB/s eta 0:00:04
----------------- ---------------------- 7.1/15.9 MB 2.3 MB/s eta 0:00:04
----------------- ---------------------- 7.1/15.9 MB 2.3 MB/s eta 0:00:04
------------------ --------------------- 7.2/15.9 MB 2.3 MB/s eta 0:00:04
------------------ --------------------- 7.2/15.9 MB 2.3 MB/s eta 0:00:04
------------------ --------------------- 7.3/15.9 MB 2.2 MB/s eta 0:00:04
------------------ --------------------- 7.4/15.9 MB 2.2 MB/s eta 0:00:04
------------------ --------------------- 7.4/15.9 MB 2.2 MB/s eta 0:00:04
------------------ --------------------- 7.5/15.9 MB 2.2 MB/s eta 0:00:04
------------------ --------------------- 7.5/15.9 MB 2.2 MB/s eta 0:00:04
------------------- -------------------- 7.6/15.9 MB 2.2 MB/s eta 0:00:04
------------------- -------------------- 7.6/15.9 MB 2.2 MB/s eta 0:00:04
------------------- -------------------- 7.7/15.9 MB 2.1 MB/s eta 0:00:04
------------------- -------------------- 7.7/15.9 MB 2.1 MB/s eta 0:00:04
------------------- -------------------- 7.8/15.9 MB 2.1 MB/s eta 0:00:04
------------------- -------------------- 7.8/15.9 MB 2.1 MB/s eta 0:00:04
------------------- -------------------- 7.9/15.9 MB 2.1 MB/s eta 0:00:04
------------------- -------------------- 7.9/15.9 MB 2.1 MB/s eta 0:00:04
-------------------- ------------------- 8.0/15.9 MB 2.0 MB/s eta 0:00:04
-------------------- ------------------- 8.0/15.9 MB 2.0 MB/s eta 0:00:04
-------------------- ------------------- 8.1/15.9 MB 2.0 MB/s eta 0:00:04
-------------------- ------------------- 8.1/15.9 MB 2.0 MB/s eta 0:00:04
-------------------- ------------------- 8.2/15.9 MB 2.0 MB/s eta 0:00:04
-------------------- ------------------- 8.2/15.9 MB 2.0 MB/s eta 0:00:04
-------------------- ------------------- 8.3/15.9 MB 2.0 MB/s eta 0:00:04
--------------------- ------------------ 8.4/15.9 MB 2.0 MB/s eta 0:00:04
--------------------- ------------------ 8.4/15.9 MB 2.0 MB/s eta 0:00:04
--------------------- ------------------ 8.5/15.9 MB 2.0 MB/s eta 0:00:04
--------------------- ------------------ 8.5/15.9 MB 2.0 MB/s eta 0:00:04
--------------------- ------------------ 8.6/15.9 MB 1.9 MB/s eta 0:00:04
--------------------- ------------------ 8.7/15.9 MB 1.9 MB/s eta 0:00:04
--------------------- ------------------ 8.7/15.9 MB 1.9 MB/s eta 0:00:04
---------------------- ----------------- 8.8/15.9 MB 1.9 MB/s eta 0:00:04
---------------------- ----------------- 8.8/15.9 MB 1.9 MB/s eta 0:00:04
---------------------- ----------------- 8.9/15.9 MB 1.9 MB/s eta 0:00:04
---------------------- ----------------- 9.0/15.9 MB 1.9 MB/s eta 0:00:04
---------------------- ----------------- 9.1/15.9 MB 1.9 MB/s eta 0:00:04
----------------------- ---------------- 9.2/15.9 MB 1.9 MB/s eta 0:00:04
----------------------- ---------------- 9.3/15.9 MB 1.9 MB/s eta 0:00:04
----------------------- ---------------- 9.4/15.9 MB 1.9 MB/s eta 0:00:04
------------------------ --------------- 9.6/15.9 MB 1.9 MB/s eta 0:00:04
------------------------ --------------- 9.7/15.9 MB 1.9 MB/s eta 0:00:04
------------------------ --------------- 9.8/15.9 MB 2.0 MB/s eta 0:00:04
------------------------ --------------- 9.9/15.9 MB 2.0 MB/s eta 0:00:04
------------------------- -------------- 10.0/15.9 MB 2.0 MB/s eta 0:00:04
------------------------- -------------- 10.1/15.9 MB 2.0 MB/s eta 0:00:03
------------------------- -------------- 10.2/15.9 MB 2.0 MB/s eta 0:00:03
------------------------- -------------- 10.3/15.9 MB 2.0 MB/s eta 0:00:03
-------------------------- ------------- 10.4/15.9 MB 2.0 MB/s eta 0:00:03
-------------------------- ------------- 10.6/15.9 MB 2.0 MB/s eta 0:00:03
-------------------------- ------------- 10.6/15.9 MB 2.0 MB/s eta 0:00:03
--------------------------- ------------ 10.8/15.9 MB 2.0 MB/s eta 0:00:03
--------------------------- ------------ 10.9/15.9 MB 2.0 MB/s eta 0:00:03
--------------------------- ------------ 11.0/15.9 MB 2.0 MB/s eta 0:00:03
--------------------------- ------------ 11.1/15.9 MB 2.0 MB/s eta 0:00:03
---------------------------- ----------- 11.2/15.9 MB 2.0 MB/s eta 0:00:03
---------------------------- ----------- 11.3/15.9 MB 2.0 MB/s eta 0:00:03
---------------------------- ----------- 11.4/15.9 MB 2.0 MB/s eta 0:00:03
---------------------------- ----------- 11.5/15.9 MB 2.0 MB/s eta 0:00:03
----------------------------- ---------- 11.6/15.9 MB 2.0 MB/s eta 0:00:03
----------------------------- ---------- 11.7/15.9 MB 2.0 MB/s eta 0:00:03
----------------------------- ---------- 11.8/15.9 MB 2.1 MB/s eta 0:00:02
----------------------------- ---------- 11.9/15.9 MB 2.1 MB/s eta 0:00:02
------------------------------ --------- 12.0/15.9 MB 2.0 MB/s eta 0:00:02
------------------------------ --------- 12.1/15.9 MB 2.0 MB/s eta 0:00:02
------------------------------ --------- 12.3/15.9 MB 2.0 MB/s eta 0:00:02
------------------------------- -------- 12.4/15.9 MB 2.0 MB/s eta 0:00:02
------------------------------- -------- 12.5/15.9 MB 2.0 MB/s eta 0:00:02
------------------------------- -------- 12.6/15.9 MB 2.1 MB/s eta 0:00:02
------------------------------- -------- 12.7/15.9 MB 2.1 MB/s eta 0:00:02
-------------------------------- ------- 12.8/15.9 MB 2.1 MB/s eta 0:00:02
-------------------------------- ------- 12.9/15.9 MB 2.0 MB/s eta 0:00:02
-------------------------------- ------- 13.0/15.9 MB 2.0 MB/s eta 0:00:02
-------------------------------- ------- 13.1/15.9 MB 2.0 MB/s eta 0:00:02
--------------------------------- ------ 13.2/15.9 MB 2.1 MB/s eta 0:00:02
--------------------------------- ------ 13.3/15.9 MB 2.0 MB/s eta 0:00:02
--------------------------------- ------ 13.4/15.9 MB 2.1 MB/s eta 0:00:02
---------------------------------- ----- 13.6/15.9 MB 2.0 MB/s eta 0:00:02
---------------------------------- ----- 13.7/15.9 MB 2.1 MB/s eta 0:00:02
---------------------------------- ----- 13.9/15.9 MB 2.1 MB/s eta 0:00:01
----------------------------------- ---- 14.0/15.9 MB 2.1 MB/s eta 0:00:01
----------------------------------- ---- 14.1/15.9 MB 2.1 MB/s eta 0:00:01
----------------------------------- ---- 14.2/15.9 MB 2.1 MB/s eta 0:00:01
------------------------------------ --- 14.3/15.9 MB 2.1 MB/s eta 0:00:01
------------------------------------ --- 14.5/15.9 MB 2.1 MB/s eta 0:00:01
------------------------------------ --- 14.6/15.9 MB 2.1 MB/s eta 0:00:01
------------------------------------- -- 14.7/15.9 MB 2.1 MB/s eta 0:00:01
------------------------------------- -- 14.8/15.9 MB 2.0 MB/s eta 0:00:01
------------------------------------- -- 14.9/15.9 MB 2.0 MB/s eta 0:00:01
------------------------------------- -- 14.9/15.9 MB 2.0 MB/s eta 0:00:01
------------------------------------- -- 15.0/15.9 MB 2.0 MB/s eta 0:00:01
------------------------------------- -- 15.1/15.9 MB 2.0 MB/s eta 0:00:01
------------------------------------- -- 15.1/15.9 MB 2.0 MB/s eta 0:00:01
-------------------------------------- - 15.2/15.9 MB 2.0 MB/s eta 0:00:01
-------------------------------------- - 15.2/15.9 MB 2.0 MB/s eta 0:00:01
-------------------------------------- - 15.3/15.9 MB 2.0 MB/s eta 0:00:01
-------------------------------------- - 15.3/15.9 MB 2.0 MB/s eta 0:00:01
-------------------------------------- - 15.4/15.9 MB 2.0 MB/s eta 0:00:01
-------------------------------------- - 15.5/15.9 MB 1.9 MB/s eta 0:00:01
--------------------------------------- 15.6/15.9 MB 1.9 MB/s eta 0:00:01
--------------------------------------- 15.6/15.9 MB 1.9 MB/s eta 0:00:01
--------------------------------------- 15.7/15.9 MB 1.9 MB/s eta 0:00:01
--------------------------------------- 15.7/15.9 MB 1.9 MB/s eta 0:00:01
--------------------------------------- 15.8/15.9 MB 1.9 MB/s eta 0:00:01
--------------------------------------- 15.9/15.9 MB 1.9 MB/s eta 0:00:01
--------------------------------------- 15.9/15.9 MB 1.9 MB/s eta 0:00:01
--------------------------------------- 15.9/15.9 MB 1.9 MB/s eta 0:00:01
---------------------------------------- 15.9/15.9 MB 1.8 MB/s eta 0:00:00
Downloading pyproj-3.6.1-cp312-cp312-win_amd64.whl (6.1 MB)
---------------------------------------- 0.0/6.1 MB ? eta -:--:--
---------------------------------------- 0.0/6.1 MB 1.9 MB/s eta 0:00:04
--------------------------------------- 0.1/6.1 MB 1.2 MB/s eta 0:00:06
--------------------------------------- 0.1/6.1 MB 1.2 MB/s eta 0:00:05
- -------------------------------------- 0.2/6.1 MB 1.2 MB/s eta 0:00:05
- -------------------------------------- 0.3/6.1 MB 1.2 MB/s eta 0:00:05
-- ------------------------------------- 0.3/6.1 MB 1.2 MB/s eta 0:00:05
-- ------------------------------------- 0.4/6.1 MB 1.2 MB/s eta 0:00:05
-- ------------------------------------- 0.4/6.1 MB 1.2 MB/s eta 0:00:05
--- ------------------------------------ 0.5/6.1 MB 1.2 MB/s eta 0:00:05
--- ------------------------------------ 0.6/6.1 MB 1.4 MB/s eta 0:00:04
---- ----------------------------------- 0.7/6.1 MB 1.5 MB/s eta 0:00:04
----- ---------------------------------- 0.8/6.1 MB 1.6 MB/s eta 0:00:04
------ --------------------------------- 1.0/6.1 MB 1.7 MB/s eta 0:00:04
------- -------------------------------- 1.1/6.1 MB 1.8 MB/s eta 0:00:03
------- -------------------------------- 1.2/6.1 MB 1.8 MB/s eta 0:00:03
-------- ------------------------------- 1.3/6.1 MB 1.9 MB/s eta 0:00:03
--------- ------------------------------ 1.4/6.1 MB 1.9 MB/s eta 0:00:03
---------- ----------------------------- 1.5/6.1 MB 2.0 MB/s eta 0:00:03
---------- ----------------------------- 1.6/6.1 MB 2.0 MB/s eta 0:00:03
----------- ---------------------------- 1.8/6.1 MB 2.0 MB/s eta 0:00:03
------------ --------------------------- 1.9/6.1 MB 2.0 MB/s eta 0:00:03
------------ --------------------------- 2.0/6.1 MB 2.0 MB/s eta 0:00:03
------------- -------------------------- 2.1/6.1 MB 2.0 MB/s eta 0:00:02
-------------- ------------------------- 2.2/6.1 MB 2.1 MB/s eta 0:00:02
--------------- ------------------------ 2.3/6.1 MB 2.1 MB/s eta 0:00:02
--------------- ------------------------ 2.4/6.1 MB 2.1 MB/s eta 0:00:02
---------------- ----------------------- 2.6/6.1 MB 2.1 MB/s eta 0:00:02
----------------- ---------------------- 2.7/6.1 MB 2.1 MB/s eta 0:00:02
------------------ --------------------- 2.8/6.1 MB 2.1 MB/s eta 0:00:02
------------------ --------------------- 2.9/6.1 MB 2.1 MB/s eta 0:00:02
------------------- -------------------- 3.0/6.1 MB 2.1 MB/s eta 0:00:02
-------------------- ------------------- 3.1/6.1 MB 2.2 MB/s eta 0:00:02
--------------------- ------------------ 3.2/6.1 MB 2.2 MB/s eta 0:00:02
--------------------- ------------------ 3.3/6.1 MB 2.2 MB/s eta 0:00:02
---------------------- ----------------- 3.5/6.1 MB 2.2 MB/s eta 0:00:02
----------------------- ---------------- 3.6/6.1 MB 2.2 MB/s eta 0:00:02
------------------------ --------------- 3.7/6.1 MB 2.2 MB/s eta 0:00:02
------------------------ --------------- 3.8/6.1 MB 2.2 MB/s eta 0:00:02
------------------------- -------------- 3.9/6.1 MB 2.2 MB/s eta 0:00:01
-------------------------- ------------- 4.0/6.1 MB 2.2 MB/s eta 0:00:01
-------------------------- ------------- 4.1/6.1 MB 2.2 MB/s eta 0:00:01
--------------------------- ------------ 4.2/6.1 MB 2.2 MB/s eta 0:00:01
---------------------------- ----------- 4.3/6.1 MB 2.2 MB/s eta 0:00:01
---------------------------- ----------- 4.4/6.1 MB 2.2 MB/s eta 0:00:01
----------------------------- ---------- 4.4/6.1 MB 2.2 MB/s eta 0:00:01
----------------------------- ---------- 4.5/6.1 MB 2.2 MB/s eta 0:00:01
------------------------------ --------- 4.6/6.1 MB 2.2 MB/s eta 0:00:01
------------------------------- -------- 4.7/6.1 MB 2.2 MB/s eta 0:00:01
------------------------------- -------- 4.8/6.1 MB 2.2 MB/s eta 0:00:01
------------------------------- -------- 4.8/6.1 MB 2.1 MB/s eta 0:00:01
-------------------------------- ------- 4.9/6.1 MB 2.1 MB/s eta 0:00:01
-------------------------------- ------- 4.9/6.1 MB 2.1 MB/s eta 0:00:01
-------------------------------- ------- 4.9/6.1 MB 2.1 MB/s eta 0:00:01
-------------------------------- ------- 5.0/6.1 MB 2.1 MB/s eta 0:00:01
-------------------------------- ------- 5.0/6.1 MB 2.0 MB/s eta 0:00:01
--------------------------------- ------ 5.0/6.1 MB 2.0 MB/s eta 0:00:01
--------------------------------- ------ 5.1/6.1 MB 2.0 MB/s eta 0:00:01
---------------------------------- ----- 5.2/6.1 MB 2.0 MB/s eta 0:00:01
---------------------------------- ----- 5.3/6.1 MB 2.0 MB/s eta 0:00:01
---------------------------------- ----- 5.3/6.1 MB 2.0 MB/s eta 0:00:01
---------------------------------- ----- 5.3/6.1 MB 2.0 MB/s eta 0:00:01
----------------------------------- ---- 5.4/6.1 MB 1.9 MB/s eta 0:00:01
----------------------------------- ---- 5.4/6.1 MB 1.9 MB/s eta 0:00:01
------------------------------------ --- 5.6/6.1 MB 1.9 MB/s eta 0:00:01
------------------------------------ --- 5.6/6.1 MB 1.9 MB/s eta 0:00:01
------------------------------------ --- 5.6/6.1 MB 1.9 MB/s eta 0:00:01
------------------------------------ --- 5.6/6.1 MB 1.9 MB/s eta 0:00:01
------------------------------------- -- 5.8/6.1 MB 1.9 MB/s eta 0:00:01
------------------------------------- -- 5.8/6.1 MB 1.9 MB/s eta 0:00:01
-------------------------------------- - 5.9/6.1 MB 1.9 MB/s eta 0:00:01
-------------------------------------- - 5.9/6.1 MB 1.8 MB/s eta 0:00:01
--------------------------------------- 6.0/6.1 MB 1.8 MB/s eta 0:00:01
--------------------------------------- 6.0/6.1 MB 1.8 MB/s eta 0:00:01
--------------------------------------- 6.0/6.1 MB 1.8 MB/s eta 0:00:01
--------------------------------------- 6.0/6.1 MB 1.8 MB/s eta 0:00:01
--------------------------------------- 6.0/6.1 MB 1.7 MB/s eta 0:00:01
--------------------------------------- 6.1/6.1 MB 1.7 MB/s eta 0:00:01
---------------------------------------- 6.1/6.1 MB 1.7 MB/s eta 0:00:00
Downloading shapely-2.0.6-cp312-cp312-win_amd64.whl (1.4 MB)
---------------------------------------- 0.0/1.4 MB ? eta -:--:--
---------------------------------------- 0.0/1.4 MB ? eta -:--:--
---------------------------------------- 0.0/1.4 MB ? eta -:--:--
--------------------------------------- 0.0/1.4 MB 325.1 kB/s eta 0:00:05
--------------------------------------- 0.0/1.4 MB 325.1 kB/s eta 0:00:05
--- ------------------------------------ 0.1/1.4 MB 656.4 kB/s eta 0:00:03
--- ------------------------------------ 0.1/1.4 MB 654.9 kB/s eta 0:00:03
--- ------------------------------------ 0.1/1.4 MB 654.9 kB/s eta 0:00:03
--- ------------------------------------ 0.1/1.4 MB 500.5 kB/s eta 0:00:03
---- ----------------------------------- 0.2/1.4 MB 490.7 kB/s eta 0:00:03
---- ----------------------------------- 0.2/1.4 MB 455.1 kB/s eta 0:00:03
----- ---------------------------------- 0.2/1.4 MB 436.8 kB/s eta 0:00:03
----- ---------------------------------- 0.2/1.4 MB 436.8 kB/s eta 0:00:03
----- ---------------------------------- 0.2/1.4 MB 436.8 kB/s eta 0:00:03
----- ---------------------------------- 0.2/1.4 MB 366.4 kB/s eta 0:00:04
----- ---------------------------------- 0.2/1.4 MB 366.4 kB/s eta 0:00:04
------ --------------------------------- 0.2/1.4 MB 344.1 kB/s eta 0:00:04
------ --------------------------------- 0.2/1.4 MB 342.3 kB/s eta 0:00:04
------ --------------------------------- 0.2/1.4 MB 342.3 kB/s eta 0:00:04
------- -------------------------------- 0.3/1.4 MB 314.7 kB/s eta 0:00:04
------- -------------------------------- 0.3/1.4 MB 321.5 kB/s eta 0:00:04
------- -------------------------------- 0.3/1.4 MB 321.5 kB/s eta 0:00:04
------- -------------------------------- 0.3/1.4 MB 305.2 kB/s eta 0:00:04
------- -------------------------------- 0.3/1.4 MB 305.2 kB/s eta 0:00:04
-------- ------------------------------- 0.3/1.4 MB 306.5 kB/s eta 0:00:04
--------- ------------------------------ 0.3/1.4 MB 312.4 kB/s eta 0:00:04
--------- ------------------------------ 0.3/1.4 MB 304.0 kB/s eta 0:00:04
--------- ------------------------------ 0.4/1.4 MB 305.1 kB/s eta 0:00:04
--------- ------------------------------ 0.4/1.4 MB 305.1 kB/s eta 0:00:04
---------- ----------------------------- 0.4/1.4 MB 301.7 kB/s eta 0:00:04
---------- ----------------------------- 0.4/1.4 MB 303.1 kB/s eta 0:00:04
----------- ---------------------------- 0.4/1.4 MB 307.9 kB/s eta 0:00:04
----------- ---------------------------- 0.4/1.4 MB 304.8 kB/s eta 0:00:04
------------ --------------------------- 0.4/1.4 MB 309.2 kB/s eta 0:00:04
------------ --------------------------- 0.5/1.4 MB 306.2 kB/s eta 0:00:04
------------- -------------------------- 0.5/1.4 MB 313.7 kB/s eta 0:00:04
------------- -------------------------- 0.5/1.4 MB 317.5 kB/s eta 0:00:03
------------- -------------------------- 0.5/1.4 MB 314.5 kB/s eta 0:00:03
-------------- ------------------------- 0.5/1.4 MB 318.2 kB/s eta 0:00:03
--------------- ------------------------ 0.6/1.4 MB 324.6 kB/s eta 0:00:03
---------------- ----------------------- 0.6/1.4 MB 330.5 kB/s eta 0:00:03
---------------- ----------------------- 0.6/1.4 MB 333.5 kB/s eta 0:00:03
----------------- ---------------------- 0.6/1.4 MB 338.7 kB/s eta 0:00:03
------------------ --------------------- 0.7/1.4 MB 344.1 kB/s eta 0:00:03
------------------- -------------------- 0.7/1.4 MB 348.7 kB/s eta 0:00:03
------------------- -------------------- 0.7/1.4 MB 353.3 kB/s eta 0:00:03
-------------------- ------------------- 0.7/1.4 MB 355.2 kB/s eta 0:00:02
-------------------- ------------------- 0.7/1.4 MB 354.8 kB/s eta 0:00:02
--------------------- ------------------ 0.8/1.4 MB 361.4 kB/s eta 0:00:02
---------------------- ----------------- 0.8/1.4 MB 369.7 kB/s eta 0:00:02
---------------------- ----------------- 0.8/1.4 MB 369.2 kB/s eta 0:00:02
----------------------- ---------------- 0.8/1.4 MB 373.2 kB/s eta 0:00:02
------------------------ --------------- 0.9/1.4 MB 376.3 kB/s eta 0:00:02
------------------------ --------------- 0.9/1.4 MB 380.1 kB/s eta 0:00:02
------------------------- -------------- 0.9/1.4 MB 383.0 kB/s eta 0:00:02
-------------------------- ------------- 1.0/1.4 MB 385.7 kB/s eta 0:00:02
--------------------------- ------------ 1.0/1.4 MB 390.7 kB/s eta 0:00:02
---------------------------- ----------- 1.0/1.4 MB 395.5 kB/s eta 0:00:02
----------------------------- ---------- 1.1/1.4 MB 404.1 kB/s eta 0:00:01
----------------------------- ---------- 1.1/1.4 MB 405.7 kB/s eta 0:00:01
------------------------------ --------- 1.1/1.4 MB 407.6 kB/s eta 0:00:01
------------------------------- -------- 1.1/1.4 MB 415.6 kB/s eta 0:00:01
-------------------------------- ------- 1.2/1.4 MB 419.8 kB/s eta 0:00:01
--------------------------------- ------ 1.2/1.4 MB 423.6 kB/s eta 0:00:01
---------------------------------- ----- 1.3/1.4 MB 432.1 kB/s eta 0:00:01
----------------------------------- ---- 1.3/1.4 MB 433.4 kB/s eta 0:00:01
------------------------------------ --- 1.3/1.4 MB 438.0 kB/s eta 0:00:01
------------------------------------- -- 1.3/1.4 MB 443.7 kB/s eta 0:00:01
-------------------------------------- - 1.4/1.4 MB 447.0 kB/s eta 0:00:01
-------------------------------------- - 1.4/1.4 MB 449.1 kB/s eta 0:00:01
--------------------------------------- 1.4/1.4 MB 449.9 kB/s eta 0:00:01
--------------------------------------- 1.4/1.4 MB 448.7 kB/s eta 0:00:01
---------------------------------------- 1.4/1.4 MB 447.2 kB/s eta 0:00:00
Installing collected packages: shapely, pyproj, pyogrio, geopandas
Successfully installed geopandas-1.0.1 pyogrio-0.9.0 pyproj-3.6.1 shapely-2.0.6
Note: you may need to restart the kernel to use updated packages.
In [40]:
import geopandas as gpd
import matplotlib.pyplot as plt
from shapely.geometry import Point
import pandas as pd
# Sample data for military bases
bases = pd.DataFrame({
'base_name': ['Base A', 'Base B', 'Base C', 'Base D', 'Base E'],
'latitude': [28.6139, 19.0760, 12.9716, 24.6273, 18.1569],
'longitude': [77.2090, 72.8777, 77.5946, 24.1578, 45.5896]
})
# Geospatial DataFrame
gdf = gpd.GeoDataFrame(bases, geometry=gpd.points_from_xy(bases.longitude, bases.latitude))
# Load a political map of the world (Replace this with the path to your shapefile for a political map)
world = gpd.read_file(r'E:\world.shp')
# Plotting Military Bases on World Political Map
ax = world.plot(figsize=(15, 10), color='lightgray', edgecolor='black')
gdf.plot(ax=ax, color='red', marker='o', markersize=50, label='Military Base')
# Adding labels for each base
for x, y, label in zip(gdf.geometry.x, gdf.geometry.y, gdf.base_name):
plt.text(x, y, label, fontsize=12, ha='right')
plt.title("International Military Bases on World Political Map")
plt.legend()
plt.show()
Risk Analysis of Military Base Proximity to Tension Hotspots¶
In [41]:
import geopandas as gpd
from shapely.geometry import Point
# Example geospatial dataframes for tension hotspots and military bases
tension_hotspots = gpd.GeoDataFrame({
'hotspot_name': ['Hotspot 1', 'Hotspot 2'],
'geometry': [Point(78.9629, 20.5937), Point(80.9462, 26.8467)]
})
# Example geospatial dataframe for military bases
gdf = gpd.GeoDataFrame({
'base_name': ['Base A', 'Base B'],
'geometry': [Point(77.1025, 28.7041), Point(72.8777, 19.0760)]
})
# Calculate distance between military bases and tension hotspots
gdf['risk_score'] = gdf.geometry.apply(lambda x: tension_hotspots.distance(x).min())
# Print risk scores for military bases
print("Risk scores for military bases:", gdf[['base_name', 'risk_score']])
Risk scores for military bases: base_name risk_score 0 Base A 4.268954 1 Base B 6.271608
Sentiment Trend Analysis Over Time¶
In [42]:
import pandas as pd
import matplotlib.pyplot as plt
# Sample sentiment data (replace with actual sentiment scores)
sentiments = [0.1, -0.2, 0.3, 0.4, -0.1, 0.2, -0.3] # Example sentiment scores
# Create DataFrame with sentiment scores
df_sentiment = pd.DataFrame({
'date': pd.date_range(start='1/1/2023', periods=len(sentiments)),
'sentiment_score': sentiments
})
# Calculate rolling average of sentiment scores
df_sentiment['sentiment_rolling_avg'] = df_sentiment['sentiment_score'].rolling(window=2).mean()
# Plot sentiment scores and rolling average
df_sentiment.plot(x='date', y=['sentiment_score', 'sentiment_rolling_avg'])
plt.title("Sentiment Trend Analysis Over Time")
plt.xlabel("Date")
plt.ylabel("Sentiment Score")
plt.show()
Interactive Map of Geopolitical Tensions¶
In [15]:
import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
import folium
# Sample data for demonstration
data = {
'base_name': ['Base 1', 'Base 2'],
'geometry': [Point(78.9629, 20.5937), Point(80.9462, 26.8467)]
}
# Create a GeoDataFrame
gdf = gpd.GeoDataFrame(data, geometry='geometry')
# Check if 'latitude' and 'longitude' columns exist
if 'latitude' not in gdf.columns or 'longitude' not in gdf.columns:
gdf['latitude'] = gdf.geometry.y
gdf['longitude'] = gdf.geometry.x
# Display the updated GeoDataFrame
print("Updated GeoDataFrame with latitude and longitude columns:")
print(gdf)
# Create a map centered around a specific location
m = folium.Map(location=[20.5937, 78.9629], zoom_start=5)
# Add military bases and tension hotspots to the map
for idx, row in gdf.iterrows():
folium.Marker(location=[row['latitude'], row['longitude']], popup=row['base_name']).add_to(m)
# Assuming tension_hotspots is also a GeoDataFrame
tension_hotspots = gpd.GeoDataFrame({
'hotspot_name': ['Hotspot 1', 'Hotspot 2'],
'geometry': [Point(78.9629, 20.5937), Point(80.9462, 26.8467)]
})
# Add tension hotspots to the map
for idx, row in tension_hotspots.iterrows():
folium.Marker(location=[row.geometry.y, row.geometry.x], popup=row['hotspot_name'], icon=folium.Icon(color='red')).add_to(m)
# Display the map
m.save("geopolitical_tensions_map.html")
# Display the saved map in a browser (requires a local server or opening manually)
import webbrowser
webbrowser.open('geopolitical_tensions_map.html')
Updated GeoDataFrame with latitude and longitude columns: base_name geometry latitude longitude 0 Base 1 POINT (78.9629 20.5937) 20.5937 78.9629 1 Base 2 POINT (80.9462 26.8467) 26.8467 80.9462
Out[15]:
True
Visualizing Changes in Defense Infrastructure¶
In [44]:
# Simulated data for changes in defense infrastructure
infrastructure_changes = {
'base_name': ['Base A', 'Base B', 'Base C'],
'infrastructure_status': [1, 0, 1] # 1: operational, 0: non-operational
}
df_infra = pd.DataFrame(infrastructure_changes)
df_infra.plot(kind='bar', x='base_name', y='infrastructure_status')
plt.title("Changes in Defense Infrastructure")
plt.show()
Simulation of Geopolitical Scenarios¶
In [45]:
# Simulating scenarios - just a basic simulation setup
def simulate_scenario(initial_tension, military_response):
new_tension = initial_tension + (military_response * 0.1)
return new_tension
scenario_results = [simulate_scenario(50, i) for i in range(10)]
print("Simulated geopolitical scenarios:", scenario_results)
Simulated geopolitical scenarios: [50.0, 50.1, 50.2, 50.3, 50.4, 50.5, 50.6, 50.7, 50.8, 50.9]
Machine Learning Prediction of Military Movement¶
In [46]:
import numpy as np
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
# Sample data for demonstration (assuming df is already defined)
# df = pd.DataFrame({...}) # Your existing DataFrame
# Check if 'military_movement_index' column is present in the DataFrame
if 'military_movement_index' not in df.columns:
# Add the 'military_movement_index' column with default values (e.g., all zeros)
df['military_movement_index'] = 0 # or some other default value or generated data
# Display the updated DataFrame to ensure the column was added
print("Updated DataFrame:")
print(df.head())
# Sample data for training
X = np.array(df['geopolitical_tension_index']).reshape(-1, 1)
y = df['military_movement_index']
# Decision Tree Model
model = DecisionTreeClassifier()
model.fit(X, y)
# Define predicted_tensions with some sample values
# Replace these with actual future tension values you want to predict
predicted_tensions = np.array([2.5, 3.0, 3.5, 4.0]) # Example tension values
# Predict military movement based on future tensions
predicted_movements = model.predict(predicted_tensions.reshape(-1, 1))
print("Predicted military movements:", predicted_movements)
Updated DataFrame:
date geopolitical_tension_index military_movement_index
0 2023-01-01 0 0
1 2023-01-02 1 0
2 2023-01-03 2 0
3 2023-01-04 3 0
4 2023-01-05 4 0
Predicted military movements: [0 0 0 0]
Visualizing Army, Navy, and Air Force Bases in Realistic Way¶
In [61]:
pip install --upgrade cartopy matplotlib
Requirement already satisfied: cartopy in d:\anaconda\lib\site-packages (0.23.0)Note: you may need to restart the kernel to use updated packages.
Requirement already satisfied: matplotlib in d:\anaconda\lib\site-packages (3.8.4)
Collecting matplotlib
Downloading matplotlib-3.9.2-cp312-cp312-win_amd64.whl.metadata (11 kB)
Requirement already satisfied: numpy>=1.21 in d:\anaconda\lib\site-packages (from cartopy) (1.26.4)
Requirement already satisfied: shapely>=1.7 in d:\anaconda\lib\site-packages (from cartopy) (2.0.6)
Requirement already satisfied: packaging>=20 in d:\anaconda\lib\site-packages (from cartopy) (23.2)
Requirement already satisfied: pyshp>=2.3 in d:\anaconda\lib\site-packages (from cartopy) (2.3.1)
Requirement already satisfied: pyproj>=3.3.1 in d:\anaconda\lib\site-packages (from cartopy) (3.6.1)
Requirement already satisfied: contourpy>=1.0.1 in d:\anaconda\lib\site-packages (from matplotlib) (1.2.0)
Requirement already satisfied: cycler>=0.10 in d:\anaconda\lib\site-packages (from matplotlib) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in d:\anaconda\lib\site-packages (from matplotlib) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in d:\anaconda\lib\site-packages (from matplotlib) (1.4.4)
Requirement already satisfied: pillow>=8 in d:\anaconda\lib\site-packages (from matplotlib) (10.3.0)
Requirement already satisfied: pyparsing>=2.3.1 in d:\anaconda\lib\site-packages (from matplotlib) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in d:\anaconda\lib\site-packages (from matplotlib) (2.9.0.post0)
Requirement already satisfied: certifi in d:\anaconda\lib\site-packages (from pyproj>=3.3.1->cartopy) (2024.7.4)
Requirement already satisfied: six>=1.5 in d:\anaconda\lib\site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)
Downloading matplotlib-3.9.2-cp312-cp312-win_amd64.whl (7.8 MB)
---------------------------------------- 0.0/7.8 MB ? eta -:--:--
---------------------------------------- 0.0/7.8 MB ? eta -:--:--
---------------------------------------- 0.1/7.8 MB 525.1 kB/s eta 0:00:15
--------------------------------------- 0.1/7.8 MB 737.3 kB/s eta 0:00:11
--------------------------------------- 0.2/7.8 MB 1.1 MB/s eta 0:00:07
- -------------------------------------- 0.3/7.8 MB 1.3 MB/s eta 0:00:06
-- ------------------------------------- 0.4/7.8 MB 1.6 MB/s eta 0:00:05
-- ------------------------------------- 0.6/7.8 MB 1.8 MB/s eta 0:00:05
--- ------------------------------------ 0.7/7.8 MB 1.9 MB/s eta 0:00:04
---- ----------------------------------- 0.8/7.8 MB 2.0 MB/s eta 0:00:04
---- ----------------------------------- 1.0/7.8 MB 2.1 MB/s eta 0:00:04
----- ---------------------------------- 1.1/7.8 MB 2.2 MB/s eta 0:00:04
------ --------------------------------- 1.2/7.8 MB 2.3 MB/s eta 0:00:03
------- -------------------------------- 1.4/7.8 MB 2.3 MB/s eta 0:00:03
------- -------------------------------- 1.5/7.8 MB 2.4 MB/s eta 0:00:03
-------- ------------------------------- 1.7/7.8 MB 2.4 MB/s eta 0:00:03
--------- ------------------------------ 1.8/7.8 MB 2.4 MB/s eta 0:00:03
--------- ------------------------------ 1.9/7.8 MB 2.5 MB/s eta 0:00:03
---------- ----------------------------- 2.1/7.8 MB 2.5 MB/s eta 0:00:03
----------- ---------------------------- 2.2/7.8 MB 2.5 MB/s eta 0:00:03
----------- ---------------------------- 2.3/7.8 MB 2.5 MB/s eta 0:00:03
------------ --------------------------- 2.5/7.8 MB 2.5 MB/s eta 0:00:03
------------- -------------------------- 2.6/7.8 MB 2.6 MB/s eta 0:00:03
-------------- ------------------------- 2.8/7.8 MB 2.5 MB/s eta 0:00:02
-------------- ------------------------- 2.9/7.8 MB 2.6 MB/s eta 0:00:02
--------------- ------------------------ 3.0/7.8 MB 2.6 MB/s eta 0:00:02
---------------- ----------------------- 3.2/7.8 MB 2.6 MB/s eta 0:00:02
---------------- ----------------------- 3.3/7.8 MB 2.6 MB/s eta 0:00:02
----------------- ---------------------- 3.4/7.8 MB 2.6 MB/s eta 0:00:02
------------------ --------------------- 3.6/7.8 MB 2.7 MB/s eta 0:00:02
------------------ --------------------- 3.7/7.8 MB 2.6 MB/s eta 0:00:02
------------------- -------------------- 3.8/7.8 MB 2.6 MB/s eta 0:00:02
-------------------- ------------------- 4.0/7.8 MB 2.6 MB/s eta 0:00:02
--------------------- ------------------ 4.1/7.8 MB 2.7 MB/s eta 0:00:02
--------------------- ------------------ 4.2/7.8 MB 2.7 MB/s eta 0:00:02
---------------------- ----------------- 4.4/7.8 MB 2.7 MB/s eta 0:00:02
---------------------- ----------------- 4.5/7.8 MB 2.7 MB/s eta 0:00:02
----------------------- ---------------- 4.6/7.8 MB 2.7 MB/s eta 0:00:02
------------------------ --------------- 4.7/7.8 MB 2.7 MB/s eta 0:00:02
------------------------ --------------- 4.9/7.8 MB 2.7 MB/s eta 0:00:02
------------------------- -------------- 5.0/7.8 MB 2.7 MB/s eta 0:00:02
-------------------------- ------------- 5.2/7.8 MB 2.7 MB/s eta 0:00:01
--------------------------- ------------ 5.3/7.8 MB 2.7 MB/s eta 0:00:01
--------------------------- ------------ 5.4/7.8 MB 2.7 MB/s eta 0:00:01
---------------------------- ----------- 5.5/7.8 MB 2.7 MB/s eta 0:00:01
---------------------------- ----------- 5.7/7.8 MB 2.7 MB/s eta 0:00:01
----------------------------- ---------- 5.8/7.8 MB 2.7 MB/s eta 0:00:01
------------------------------ --------- 5.9/7.8 MB 2.7 MB/s eta 0:00:01
------------------------------ --------- 6.0/7.8 MB 2.7 MB/s eta 0:00:01
------------------------------- -------- 6.2/7.8 MB 2.7 MB/s eta 0:00:01
-------------------------------- ------- 6.3/7.8 MB 2.7 MB/s eta 0:00:01
-------------------------------- ------- 6.5/7.8 MB 2.7 MB/s eta 0:00:01
--------------------------------- ------ 6.6/7.8 MB 2.7 MB/s eta 0:00:01
---------------------------------- ----- 6.7/7.8 MB 2.7 MB/s eta 0:00:01
---------------------------------- ----- 6.9/7.8 MB 2.7 MB/s eta 0:00:01
----------------------------------- ---- 7.0/7.8 MB 2.7 MB/s eta 0:00:01
------------------------------------ --- 7.1/7.8 MB 2.7 MB/s eta 0:00:01
------------------------------------ --- 7.2/7.8 MB 2.7 MB/s eta 0:00:01
------------------------------------- -- 7.3/7.8 MB 2.7 MB/s eta 0:00:01
-------------------------------------- - 7.5/7.8 MB 2.7 MB/s eta 0:00:01
-------------------------------------- - 7.6/7.8 MB 2.7 MB/s eta 0:00:01
--------------------------------------- 7.8/7.8 MB 2.7 MB/s eta 0:00:01
--------------------------------------- 7.8/7.8 MB 2.7 MB/s eta 0:00:01
---------------------------------------- 7.8/7.8 MB 2.7 MB/s eta 0:00:00
Installing collected packages: matplotlib
Attempting uninstall: matplotlib
Found existing installation: matplotlib 3.8.4
Uninstalling matplotlib-3.8.4:
ERROR: Could not install packages due to an OSError: [WinError 5] Access is denied: 'd:\\anaconda\\lib\\site-packages\\matplotlib\\backends\\_backend_agg.cp312-win_amd64.pyd' Consider using the `--user` option or check the permissions.
In [7]:
import geopandas as gpd
import folium
from shapely.geometry import Point
# Create a GeoDataFrame for military bases with their respective types and colors
data = {
'Type': ['Army', 'Army', 'Army', 'Army', 'Army', 'Army', 'Army', 'Army', 'Army', 'Army',
'Navy', 'Navy', 'Navy', 'Navy', 'Navy', 'Navy', 'Navy', 'Navy', 'Navy', 'Navy',
'Air Force', 'Air Force', 'Air Force', 'Air Force', 'Air Force',
'Air Force', 'Air Force', 'Air Force', 'Air Force', 'Air Force'],
'Latitude': [
28.6139, 40.7128, -33.8688, 48.8566, 39.9042, 55.7558, 35.6895, 52.5200, 6.5244, 19.4326,
38.9072, 40.4168, -37.8136, 1.3521, 41.9028, 47.4979, 25.2048, -6.2088, 59.9343, -34.6037,
37.7749, 48.8566, -33.9249, 51.5074, 30.0444, 28.7041, 41.0082, 35.0116, -22.9068, 52.5200
],
'Longitude': [
77.2090, -74.0060, 151.2093, 2.3522, 116.4074, 37.6173, 139.6917, 13.4050, 3.3792, -99.1332,
-77.0369, -3.7038, 144.9631, 103.8198, 12.4964, 19.0402, 55.2708, 106.8456, 30.3351, -58.3816,
-122.4194, 2.3522, 18.4241, -0.1276, 31.2357, 77.1025, 28.9784, 135.7681, -43.1729, 13.4050
],
'Color': [
'skyblue']*10 + ['orange']*10 + ['lightgreen']*10
}
# Convert to GeoDataFrame
gdf = gpd.GeoDataFrame(data, geometry=gpd.points_from_xy(data['Longitude'], data['Latitude']))
# Load a base world map using Folium
world_map = folium.Map(location=[0, 0], zoom_start=2)
# Function to add points to the map
def add_marker(row):
folium.CircleMarker(
location=[row['Latitude'], row['Longitude']],
radius=5,
color=row['Color'],
fill=True,
fill_color=row['Color'],
fill_opacity=0.7,
popup=row['Type']
).add_to(world_map)
# Apply the function to all rows in the GeoDataFrame
gdf.apply(add_marker, axis=1)
# Display the map
world_map.save("military_bases_map.html")
world_map
Out[7]:
Make this Notebook Trusted to load map: File -> Trust Notebook
Time Series Prediction of Defense Movements¶
In [50]:
from statsmodels.tsa.arima.model import ARIMA
# Sample time series data
model = ARIMA(df['military_movement_index'], order=(1, 1, 1))
model_fit = model.fit()
forecast = model_fit.forecast(steps=5)
print("Time Series Prediction of Defense Movements:", forecast)
Time Series Prediction of Defense Movements: 100 0.0 101 0.0 102 0.0 103 0.0 104 0.0 Name: predicted_mean, dtype: float64
D:\Anaconda\Lib\site-packages\statsmodels\base\model.py:607: ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals
Comparative Analysis of Military Bases Between Countries¶
In [51]:
import pandas as pd
import matplotlib.pyplot as plt
# Sample data for military bases in India and the USA
# Replace these with your actual data
india_bases = pd.DataFrame({
'base_name': ['Base1', 'Base2', 'Base3'],
'latitude': [20.5937, 22.5726, 23.2599],
'longitude': [78.9629, 88.3639, 77.2899]
})
usa_bases = pd.DataFrame({
'base_name': ['BaseA', 'BaseB', 'BaseC'],
'latitude': [37.7749, 40.7128, 34.0522],
'longitude': [-122.4194, -74.0060, -118.2437]
})
# Concatenate DataFrames with keys
comparison_df = pd.concat([india_bases, usa_bases], keys=['India', 'USA'])
# Reset index to flatten the DataFrame
comparison_df = comparison_df.reset_index(level=0).rename(columns={'level_0': 'Country'})
# Plot the data
fig, ax = plt.subplots(figsize=(10, 6))
# Plotting each country’s data in different colors
for country, group in comparison_df.groupby('Country'):
group.plot(kind='bar', x='base_name', y='latitude', ax=ax, label=country, alpha=0.7)
plt.title("Comparative Analysis of Military Bases Between India and USA")
plt.ylabel('Latitude')
plt.xlabel('Base Name')
plt.legend(title='Country')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
Radar Charts of Military Capabilities¶
In [52]:
import pandas as pd
import plotly.express as px
# Simulated capabilities data
capabilities = {
'Capability': ['Land', 'Air', 'Sea', 'Cyber', 'Space'],
'India': [80, 70, 60, 50, 40],
'USA': [90, 85, 80, 75, 70]
}
df_capabilities = pd.DataFrame(capabilities)
# Create the initial plot for India
fig = px.line_polar(df_capabilities, r='India', theta='Capability', line_close=True)
# Add a trace for USA
fig.add_scatterpolar(r=df_capabilities['USA'], theta=df_capabilities['Capability'], fill='toself', name='USA')
# Update layout to add title and show plot
fig.update_layout(title="Comparison of Military Capabilities between India and USA", legend_title='Country')
fig.show()
Tracking Real-Time Defense Movements¶
In [53]:
import numpy as np
import matplotlib.pyplot as plt
# Simulated tracking (would normally use a live feed)
real_time_movements = np.random.rand(10, 2) # Randomized data for simulation
plt.plot(real_time_movements[:, 0], real_time_movements[:, 1])
plt.title("Tracking Real-Time Defense Movements")
plt.xlabel("X Axis Label") # Replace with your desired label
plt.ylabel("Y Axis Label") # Replace with your desired label
plt.show()
Sentiment Analysis of Social Media Data¶
In [54]:
import pandas as pd
# Sample data: Assuming there's a DataFrame with social media posts
data = {
'post': ["Great move by the military!", "Why are tensions rising?", "Stay safe everyone."]
}
df = pd.DataFrame(data)
# Define a simple sentiment analysis function
def analyze_sentiment(post):
# This is a placeholder function. Replace it with actual sentiment analysis logic.
if "move" in post or "safe" in post:
return "Positive"
elif "tensions" in post:
return "Negative"
else:
return "Neutral"
# Apply sentiment analysis and add it as a new column
if 'analyze_sentiment' not in df.columns:
df['analyze_sentiment'] = [analyze_sentiment(post) for post in df['post']]
else:
print("'analyze_sentiment' column already exists in the DataFrame.")
# Display the updated DataFrame
print(df)
post analyze_sentiment 0 Great move by the military! Positive 1 Why are tensions rising? Negative 2 Stay safe everyone. Positive
Visualizing Defense Readiness Levels¶
In [56]:
# Simulated readiness levels
readiness_levels = {
'Base': ['Base A', 'Base B', 'Base C'],
'Readiness': [0.9, 0.7, 0.8]
}
df_readiness = pd.DataFrame(readiness_levels)
df_readiness.plot(kind='bar', x='Base', y='Readiness', color='orange')
plt.title("Visualizing Defense Readiness Levels")
plt.show()
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=390)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=391)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=392)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=393)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=394)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=395)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=396)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=397)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=398)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=399)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=400)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=401)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=402)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=403)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=404)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=405)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=406)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=407)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=408)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=409)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=410)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=411)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=412)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=413)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=414)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=415)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=416)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=417)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=418)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=419)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=420)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=421)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=422)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=423)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=424)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=425)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=426)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=427)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=428)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['post', 'analyze_sentiment'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=429)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= post analyze_sentiment...
2 Stay safe everyone. Positive,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = post analyze_sentiment
0 Great move by the military! Positive
1 Why are tensions rising? Negative
2 Stay safe everyone. Positive
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['post', 'analyze_sentiment'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
Prediction of Geopolitical Crisis Impact on Defense¶
In [6]:
# Import necessary libraries
from sklearn.linear_model import LinearRegression
import numpy as np
# Example data (features and target values)
# X_train is a 2D array of feature values
# y_train is a 1D array of target values
X_train = np.array([[50], [60], [70], [80], [90]]) # Feature values
y_train = np.array([200, 220, 250, 270, 300]) # Target values
# Create and fit the model
model = LinearRegression()
model.fit(X_train, y_train)
# Simplified prediction (based on linear regression)
impact_prediction = model.predict([[75]])
print("Predicted impact on defense due to a geopolitical crisis:", impact_prediction[0])
Predicted impact on defense due to a geopolitical crisis: 260.5
Clustering of Geopolitical Tensions Over Time¶
In [5]:
import pandas as pd
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# Example DataFrame for demonstration purposes
data = {
'date': pd.date_range(start='2023-01-01', periods=10),
'geopolitical_tension_index': [1.2, 3.4, 2.1, 4.2, 5.6, 4.4, 3.3, 2.2, 1.1, 0.5]
}
df = pd.DataFrame(data)
df.set_index('date', inplace=True)
# Check if 'geopolitical_tension_index' column is present
if 'geopolitical_tension_index' not in df.columns:
print("'geopolitical_tension_index' column not found in DataFrame. Adding the column.")
df['geopolitical_tension_index'] = [None] * len(df)
# Display the updated DataFrame
print("Updated DataFrame:")
print(df)
# Clustering tensions over time
kmeans = KMeans(n_clusters=3)
df['cluster'] = kmeans.fit_predict(df[['geopolitical_tension_index']])
# Visualization of clusters
plt.scatter(df.index, df['geopolitical_tension_index'], c=df['cluster'])
plt.title("Clustering of Geopolitical Tensions Over Time")
plt.xlabel("Date")
plt.ylabel("Geopolitical Tension Index")
plt.show()
Updated DataFrame:
geopolitical_tension_index
date
2023-01-01 1.2
2023-01-02 3.4
2023-01-03 2.1
2023-01-04 4.2
2023-01-05 5.6
2023-01-06 4.4
2023-01-07 3.3
2023-01-08 2.2
2023-01-09 1.1
2023-01-10 0.5
D:\Anaconda\Lib\site-packages\sklearn\cluster\_kmeans.py:1446: UserWarning: KMeans is known to have a memory leak on Windows with MKL, when there are less chunks than available threads. You can avoid it by setting the environment variable OMP_NUM_THREADS=1. warnings.warn(
Analysis of Defense Budget Allocation¶
In [64]:
# Example budget data
budget_data = {
'Sector': ['Land', 'Air', 'Sea', 'Cyber', 'Space'],
'Budget': [300, 250, 200, 100, 150]
}
df_budget = pd.DataFrame(budget_data)
df_budget.plot(kind='pie', y='Budget', labels=df_budget['Sector'], autopct='%1.1f%%')
plt.title("Analysis of Defense Budget Allocation")
plt.show()
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=831)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=832)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=833)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=834)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=835)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=836)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=837)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=838)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=839)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=840)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=841)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=842)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=843)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=844)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=845)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=846)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=847)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=848)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=849)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=850)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=851)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=852)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=853)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=854)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=855)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=856)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=857)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=858)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=859)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=860)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=861)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=862)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=863)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=864)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=865)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=866)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=867)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=868)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=869)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=870)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=871)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3805, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3804 try:
-> 3805 return self._engine.get_loc(casted_key)
casted_key = 'date'
self = Index(['geopolitical_tension_index', 'cluster'], dtype='object')
3806 except KeyError as err:
File index.pyx:167, in pandas._libs.index.IndexEngine.get_loc()
File index.pyx:196, in pandas._libs.index.IndexEngine.get_loc()
File pandas\\_libs\\hashtable_class_helper.pxi:7081, in pandas._libs.hashtable.PyObjectHashTable.get_item()
File pandas\\_libs\\hashtable_class_helper.pxi:7089, in pandas._libs.hashtable.PyObjectHashTable.get_item()
KeyError: 'date'
The above exception was the direct cause of the following exception:
KeyError Traceback (most recent call last)
Cell In[33], line 27, in update_graph(n=872)
21 @app.callback(
22 Output('tension-graph', 'figure'),
23 [Input('interval-component', 'n_intervals')]
24 )
25 def update_graph(n):
26 fig = {
---> 27 'data': [{'x': df['date'], 'y': df['geopolitical_tension_index'], 'type': 'line', 'name': 'Tension'}],
fig = Figure({
'data': [{'hovertemplate': 'India=%{r}<br>Capability=%{theta}<extra></extra>',
'legendgroup': '',
'line': {'color': '#636efa', 'dash': 'solid'},
'marker': {'symbol': 'circle'},
'mode': 'lines',
'name': '',
'r': array([80, 70, 60, 50, 40, 80], dtype=int64),
'showlegend': False,
'subplot': 'polar',
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space', 'Land'], dtype=object),
'type': 'scatterpolar'},
{'fill': 'toself',
'name': 'USA',
'r': array([90, 85, 80, 75, 70], dtype=int64),
'theta': array(['Land', 'Air', 'Sea', 'Cyber', 'Space'], dtype=object),
'type': 'scatterpolar'}],
'layout': {'legend': {'title': {'text': 'Country'}, 'tracegroupgap': 0},
'margin': {'t': 60},
'polar': {'angularaxis': {'direction': 'clockwise', 'rotation': 90},
'domain': {'x': [0.0, 1.0], 'y': [0.0, 1.0]}},
'template': '...',
'title': {'text': 'Comparison of Military Capabilities between India and USA'}}
})
df = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
28 'layout': {'title': 'Geopolitical Tensions Over Time'}
29 }
30 return fig
File D:\Anaconda\Lib\site-packages\pandas\core\frame.py:4102, in DataFrame.__getitem__(
self= geopolitical_tension_index cluster
...1
2023-01-10 0.5 1,
key='date'
)
4100 if self.columns.nlevels > 1:
4101 return self._getitem_multilevel(key)
-> 4102 indexer = self.columns.get_loc(key)
key = 'date'
self = geopolitical_tension_index cluster
date
2023-01-01 1.2 1
2023-01-02 3.4 0
2023-01-03 2.1 0
2023-01-04 4.2 0
2023-01-05 5.6 2
2023-01-06 4.4 0
2023-01-07 3.3 0
2023-01-08 2.2 0
2023-01-09 1.1 1
2023-01-10 0.5 1
4103 if is_integer(indexer):
4104 indexer = [indexer]
File D:\Anaconda\Lib\site-packages\pandas\core\indexes\base.py:3812, in Index.get_loc(
self=Index(['geopolitical_tension_index', 'cluster'], dtype='object'),
key='date'
)
3807 if isinstance(casted_key, slice) or (
3808 isinstance(casted_key, abc.Iterable)
3809 and any(isinstance(x, slice) for x in casted_key)
3810 ):
3811 raise InvalidIndexError(key)
-> 3812 raise KeyError(key) from err
key = 'date'
3813 except TypeError:
3814 # If we have a listlike key, _check_indexing_error will raise
3815 # InvalidIndexError. Otherwise we fall through and re-raise
3816 # the TypeError.
3817 self._check_indexing_error(key)
KeyError: 'date'
Mapping of Military Supply Chains¶
In [3]:
# Import necessary libraries
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
# Simulated supply chain data
supply_chains = pd.DataFrame({
'location': ['Factory A', 'Port B', 'Base C'],
'latitude': [10.8505, 15.2993, 12.9716],
'longitude': [76.2711, 74.1240, 77.5946]
})
# Check if 'pd' column is present in the DataFrame (although it seems unnecessary)
if 'pd' not in supply_chains.columns:
print("'pd' column not found in DataFrame. Adding the column.")
supply_chains['pd'] = [None] * len(supply_chains)
# Display the updated DataFrame
print("Updated DataFrame:")
print(supply_chains)
# Creating a GeoDataFrame from the supply chain data
supply_gdf = gpd.GeoDataFrame(supply_chains, geometry=gpd.points_from_xy(supply_chains.longitude, supply_chains.latitude))
# Load the world shapefile from the downloaded location
world = gpd.read_file(r'E:\world.shp') # Replace with your path
# Plotting the world map with supply chain locations
ax = world.plot(figsize=(10, 6))
supply_gdf.plot(ax=ax, color='purple')
plt.title("Mapping of Military Supply Chains")
plt.show()
'pd' column not found in DataFrame. Adding the column.
Updated DataFrame:
location latitude longitude pd
0 Factory A 10.8505 76.2711 None
1 Port B 15.2993 74.1240 None
2 Base C 12.9716 77.5946 None
Interactive Visualization of Global Military Strength¶
In [5]:
# Import necessary libraries
import pandas as pd
import plotly.express as px
import plotly.graph_objs as go
# Sample data
strength_data = {
'Country': ['India', 'USA', 'Russia', 'China'],
'Strength': [200, 300, 250, 280]
}
# Creating DataFrame
df_strength = pd.DataFrame(strength_data)
# Check if 'px' column is present in the DataFrame
if 'px' not in df_strength.columns:
print("'px' column not found in DataFrame. Adding the column.")
df_strength['px'] = [None] * len(df_strength)
# Display the updated DataFrame
print("Updated DataFrame:")
print(df_strength)
# Plotting bar chart using plotly.express
fig = px.bar(df_strength, x='Country', y='Strength', title="Global Military Strength")
fig.show()
'px' column not found in DataFrame. Adding the column. Updated DataFrame: Country Strength px 0 India 200 None 1 USA 300 None 2 Russia 250 None 3 China 280 None
Sentiment Correlation with Military Movements¶
In [7]:
import pandas as pd
import numpy as np
# Assuming some sample data for df and df_sentiment
df = pd.DataFrame({
'military_movement_index': [5.2, 6.5, 7.3, 5.5, 6.9],
'other_column': [1, 2, 3, 4, 5]
})
df_sentiment = pd.DataFrame({
'sentiment_score': [0.5, 0.6, 0.4, 0.7, 0.3],
'other_column_sentiment': [9, 8, 7, 6, 5]
})
# Check if 'military_movement_index' is present in df
if 'military_movement_index' not in df.columns:
print("'military_movement_index' column not found in df. Adding the column.")
df['military_movement_index'] = np.nan # or some default values
# Check if 'sentiment_score' is present in df_sentiment
if 'sentiment_score' not in df_sentiment.columns:
print("'sentiment_score' column not found in df_sentiment. Adding the column.")
df_sentiment['sentiment_score'] = np.nan # or some default values
# Calculate correlation between sentiment_score and military_movement_index
sentiment_correlation = df_sentiment['sentiment_score'].corr(df['military_movement_index'])
print("Sentiment correlation with military movements:", sentiment_correlation)
# Display the updated DataFrames
print("\nUpdated df:")
print(df)
print("\nUpdated df_sentiment:")
print(df_sentiment)
Sentiment correlation with military movements: -0.6316761657092369 Updated df: military_movement_index other_column 0 5.2 1 1 6.5 2 2 7.3 3 3 5.5 4 4 6.9 5 Updated df_sentiment: sentiment_score other_column_sentiment 0 0.5 9 1 0.6 8 2 0.4 7 3 0.7 6 4 0.3 5
Visualizing Strategic Military Alliances¶
In [13]:
import geopandas as gpd
import pandas as pd
import folium
from IPython.display import IFrame
# Simulated alliances with Latitudes and Longitudes
alliances = {
'Country': ['India', 'USA', 'Britain', 'China'],
'Ally': ['Russia', 'Taiwan', 'Ukraine', 'Pakistan'],
'Latitude': [20.5937, 37.0902, 51.5074, 35.8617],
'Longitude': [78.9629, -95.7129, -0.1278, 104.1954]
}
# Create a DataFrame for the alliances
df_alliances = pd.DataFrame(alliances)
# Define colors for the alliances
colors = {
'India': 'skyblue',
'Russia': 'skyblue',
'USA': 'orange',
'Taiwan': 'orange',
'Britain': 'lightgreen',
'Ukraine': 'lightgreen',
'China': 'grey',
'Pakistan': 'grey'
}
# Create a folium map centered around the world
world_map = folium.Map(location=[20, 0], zoom_start=2)
# Load the world shapefile (replace the path with your actual path)
world = gpd.read_file(r'E:\world.shp')
# Print the column names to identify the correct column for country names
print(world.columns)
# Assume the correct column name is 'NAME' (adjust this based on your data)
column_name = 'NAME' # Replace 'NAME' with the actual column name if different
# Plot the countries and allies on the map with the specified colors
for idx, row in df_alliances.iterrows():
country = row['Country']
ally = row['Ally']
# Get the shape of the country and the ally from the world GeoDataFrame
country_shape = world[world[column_name] == country]
ally_shape = world[world[column_name] == ally]
# If the country is found in the shapefile, color it
if not country_shape.empty:
folium.GeoJson(
country_shape,
style_function=lambda x, color=colors[country]: {
'fillColor': color,
'color': 'black',
'weight': 1,
'fillOpacity': 0.6
}
).add_to(world_map)
# If the ally is found in the shapefile, color it
if not ally_shape.empty:
folium.GeoJson(
ally_shape,
style_function=lambda x, color=colors[ally]: {
'fillColor': color,
'color': 'black',
'weight': 1,
'fillOpacity': 0.6
}
).add_to(world_map)
# Mark the country's capital or city
folium.Marker(
location=[row['Latitude'], row['Longitude']],
popup=f'{country}',
icon=folium.Icon(color=colors[country], icon='info-sign')
).add_to(world_map)
# Save the map as an HTML file
map_path = 'Strategic_Military_Alliances_Map.html'
world_map.save(map_path)
# Display the map on the output screen
IFrame(map_path, width=800, height=600)
Index(['FIPS', 'ISO2', 'ISO3', 'UN', 'NAME', 'AREA', 'POP2005', 'REGION',
'SUBREGION', 'LON', 'LAT', 'geometry'],
dtype='object')
C:\Users\pradu\AppData\Local\Temp\ipykernel_12248\4026390767.py:78: UserWarning: color argument of Icon should be one of: {'lightblue', 'green', 'darkgreen', 'pink', 'purple', 'darkred', 'white', 'red', 'blue', 'gray', 'darkpurple', 'lightred', 'lightgray', 'lightgreen', 'orange', 'beige', 'black', 'cadetblue', 'darkblue'}.
icon=folium.Icon(color=colors[country], icon='info-sign')
C:\Users\pradu\AppData\Local\Temp\ipykernel_12248\4026390767.py:78: UserWarning: color argument of Icon should be one of: {'lightblue', 'green', 'darkgreen', 'pink', 'purple', 'darkred', 'white', 'red', 'blue', 'gray', 'darkpurple', 'lightred', 'lightgray', 'lightgreen', 'orange', 'beige', 'black', 'cadetblue', 'darkblue'}.
icon=folium.Icon(color=colors[country], icon='info-sign')
Out[13]:
Risk Assessment of Geopolitical Tensions on Defense¶
In [25]:
import geopandas as gpd
import pandas as pd
# Example GeoDataFrame creation (replace this with your actual GeoDataFrame loading code)
data = {
'base_name': ['CountryA', 'CountryB', 'CountryC'],
'risk_score': [0.2, 0.5, 0.7],
'Latitude': [10, 20, 30],
'Longitude': [50, 60, 70]
}
gdf = gpd.GeoDataFrame(data, geometry=gpd.points_from_xy(data['Longitude'], data['Latitude']))
# Function to calculate risk assessment
def risk_assessment(tension_index, proximity_score):
return tension_index * proximity_score
# Check if 'tension_index' column is present
if 'tension_index' not in gdf.columns:
# Add 'tension_index' column with default values, e.g., zeros
gdf['tension_index'] = 1 # Set default value as appropriate for your use case
# Update the risk_score based on the 'tension_index' and existing 'risk_score'
gdf['risk_score'] = gdf.apply(lambda row: risk_assessment(row['tension_index'], row['risk_score']), axis=1)
# Display the updated GeoDataFrame
print("Updated GeoDataFrame:")
print(gdf[['base_name', 'tension_index', 'risk_score']])
Updated GeoDataFrame: base_name tension_index risk_score 0 CountryA 1 0.2 1 CountryB 1 0.5 2 CountryC 1 0.7
Create Data Summary Report¶
In [28]:
import pandas as pd
# Example DataFrame creation (replace with your actual data loading)
data = {
'Status': ['Operational', 'Non-Operational', 'Operational'],
'Geopolitical_Tension': ['High', 'Medium', 'Low']
}
df = pd.DataFrame(data)
# Check if 'Base_ID' column is present
if 'Base_ID' not in df.columns:
# If 'Base_ID' column is missing, add it with default values (e.g., sequential IDs)
df['Base_ID'] = range(1, len(df) + 1) # Sequential IDs starting from 1
# Generate a summary report
summary = {
'Total Bases': df['Base_ID'].nunique(),
'Operational Bases': df[df['Status'] == 'Operational'].shape[0],
'Tension Summary': df['Geopolitical_Tension'].value_counts().to_dict()
}
print("Summary Report:")
print(summary)
# Display the updated DataFrame
print("\nUpdated DataFrame:")
print(df)
Summary Report:
{'Total Bases': 3, 'Operational Bases': 2, 'Tension Summary': {'High': 1, 'Medium': 1, 'Low': 1}}
Updated DataFrame:
Status Geopolitical_Tension Base_ID
0 Operational High 1
1 Non-Operational Medium 2
2 Operational Low 3
Export Summary Report to CSV¶
In [29]:
# Export summary to CSV
summary_df = pd.DataFrame(list(summary.items()), columns=['Metric', 'Value'])
summary_df.to_csv('summary_report.csv', index=False)
Visualize Military Bases on Map¶
In [31]:
import folium
# Create a Folium map object (replace with your map creation code)
mymap = folium.Map(location=[45.5236, -122.6750], zoom_start=13) # Example coordinates
# Save the Folium map to an HTML file
mymap.save('military_bases_map.html')
print("Map has been saved to 'military_bases_map.html'.")
# Display the map in Jupyter Notebook (if applicable)
from IPython.display import display
display(mymap)
Map has been saved to 'military_bases_map.html'.
Make this Notebook Trusted to load map: File -> Trust Notebook
Create Heatmap of Tension by Base Status¶
In [33]:
import seaborn as sns
# Create Heatmap
heatmap_data = pd.pivot_table(df, values='Base_ID', index='Status', columns='Geopolitical_Tension', aggfunc='count')
plt.figure(figsize=(10, 6))
sns.heatmap(heatmap_data, annot=True, cmap='YlGnBu')
plt.title('Heatmap of Base Status and Geopolitical Tension')
plt.show()
Generate Real-Time Data CSV File¶
In [39]:
import pandas as pd
import numpy as np
import shutil
import os
# Generate synthetic data
real_time_data = {
'Base_ID': range(21, 31),
'Base_Name': [f'Real_Base_{i}' for i in range(21, 31)],
'Latitude': np.random.uniform(low=8, high=37, size=10),
'Longitude': np.random.uniform(low=68, high=97, size=10),
'Status': np.random.choice(['Operational', 'Under Maintenance', 'Inactive'], size=10),
'Geopolitical_Tension': np.random.choice(['High', 'Medium', 'Low'], size=10),
'News_Sentiment': np.random.uniform(low=-1, high=1, size=10)
}
# Create DataFrame
real_time_df = pd.DataFrame(real_time_data)
# Save to CSV
csv_file_path = 'real_time_military_bases.csv'
real_time_df.to_csv(csv_file_path, index=False)
# Display the CSV content in the output screen
print("CSV Content:")
print(real_time_df)
# Move CSV file to Downloads folder
downloads_folder = os.path.expanduser('~/Downloads') # Adjusted path to default Downloads folder
destination_path = os.path.join(downloads_folder, 'real_time_military_bases.csv')
# Check if the Downloads folder exists and create it if not
if not os.path.exists(downloads_folder):
os.makedirs(downloads_folder)
# Move the file
shutil.move(csv_file_path, destination_path)
print(f"CSV file has been saved to '{destination_path}'.")
# Optional: Display confirmation message
from IPython.display import display, FileLink
display(FileLink(destination_path))
# Display the moved CSV file
try:
# Attempt to read the CSV file from the new location
df_from_csv = pd.read_csv(destination_path)
display(df_from_csv)
except FileNotFoundError as e:
print(f"Error: {e}")
CSV Content: Base_ID Base_Name Latitude Longitude Status \ 0 21 Real_Base_21 10.985358 85.442648 Inactive 1 22 Real_Base_22 23.683741 79.247470 Operational 2 23 Real_Base_23 35.432604 89.634941 Under Maintenance 3 24 Real_Base_24 27.351297 83.592943 Operational 4 25 Real_Base_25 20.157554 95.585460 Inactive 5 26 Real_Base_26 21.889860 86.636505 Operational 6 27 Real_Base_27 36.302884 72.843844 Inactive 7 28 Real_Base_28 24.797962 80.744678 Under Maintenance 8 29 Real_Base_29 35.764945 75.508805 Inactive 9 30 Real_Base_30 27.445434 76.685628 Under Maintenance Geopolitical_Tension News_Sentiment 0 High 0.484132 1 Medium -0.640322 2 High 0.206002 3 Low 0.287047 4 Low 0.398509 5 Low -0.253378 6 Medium 0.457558 7 High 0.202566 8 Medium -0.465025 9 Medium 0.616319 CSV file has been saved to 'C:\Users\pradu/Downloads\real_time_military_bases.csv'.
| Base_ID | Base_Name | Latitude | Longitude | Status | Geopolitical_Tension | News_Sentiment | |
|---|---|---|---|---|---|---|---|
| 0 | 21 | Real_Base_21 | 10.985358 | 85.442648 | Inactive | High | 0.484132 |
| 1 | 22 | Real_Base_22 | 23.683741 | 79.247470 | Operational | Medium | -0.640322 |
| 2 | 23 | Real_Base_23 | 35.432604 | 89.634941 | Under Maintenance | High | 0.206002 |
| 3 | 24 | Real_Base_24 | 27.351297 | 83.592943 | Operational | Low | 0.287047 |
| 4 | 25 | Real_Base_25 | 20.157554 | 95.585460 | Inactive | Low | 0.398509 |
| 5 | 26 | Real_Base_26 | 21.889860 | 86.636505 | Operational | Low | -0.253378 |
| 6 | 27 | Real_Base_27 | 36.302884 | 72.843844 | Inactive | Medium | 0.457558 |
| 7 | 28 | Real_Base_28 | 24.797962 | 80.744678 | Under Maintenance | High | 0.202566 |
| 8 | 29 | Real_Base_29 | 35.764945 | 75.508805 | Inactive | Medium | -0.465025 |
| 9 | 30 | Real_Base_30 | 27.445434 | 76.685628 | Under Maintenance | Medium | 0.616319 |
Create Detailed Report in Jupyter Notebook¶
In [44]:
pip install nbformat nbconvert
Requirement already satisfied: nbformat in d:\anaconda\lib\site-packages (5.9.2) Requirement already satisfied: nbconvert in d:\anaconda\lib\site-packages (7.10.0) Requirement already satisfied: fastjsonschema in d:\anaconda\lib\site-packages (from nbformat) (2.16.2) Requirement already satisfied: jsonschema>=2.6 in d:\anaconda\lib\site-packages (from nbformat) (4.19.2) Requirement already satisfied: jupyter-core in d:\anaconda\lib\site-packages (from nbformat) (5.7.2) Requirement already satisfied: traitlets>=5.1 in d:\anaconda\lib\site-packages (from nbformat) (5.14.3) Requirement already satisfied: beautifulsoup4 in d:\anaconda\lib\site-packages (from nbconvert) (4.12.3) Requirement already satisfied: bleach!=5.0.0 in d:\anaconda\lib\site-packages (from nbconvert) (4.1.0) Requirement already satisfied: defusedxml in d:\anaconda\lib\site-packages (from nbconvert) (0.7.1) Requirement already satisfied: jinja2>=3.0 in d:\anaconda\lib\site-packages (from nbconvert) (3.1.4) Requirement already satisfied: jupyterlab-pygments in d:\anaconda\lib\site-packages (from nbconvert) (0.1.2) Requirement already satisfied: markupsafe>=2.0 in d:\anaconda\lib\site-packages (from nbconvert) (2.1.3) Requirement already satisfied: mistune<4,>=2.0.3 in d:\anaconda\lib\site-packages (from nbconvert) (2.0.4) Requirement already satisfied: nbclient>=0.5.0 in d:\anaconda\lib\site-packages (from nbconvert) (0.8.0) Requirement already satisfied: packaging in d:\anaconda\lib\site-packages (from nbconvert) (23.2) Requirement already satisfied: pandocfilters>=1.4.1 in d:\anaconda\lib\site-packages (from nbconvert) (1.5.0) Requirement already satisfied: pygments>=2.4.1 in d:\anaconda\lib\site-packages (from nbconvert) (2.15.1) Requirement already satisfied: tinycss2 in d:\anaconda\lib\site-packages (from nbconvert) (1.2.1) Requirement already satisfied: six>=1.9.0 in d:\anaconda\lib\site-packages (from bleach!=5.0.0->nbconvert) (1.16.0) Requirement already satisfied: webencodings in d:\anaconda\lib\site-packages (from bleach!=5.0.0->nbconvert) (0.5.1) Requirement already satisfied: attrs>=22.2.0 in d:\anaconda\lib\site-packages (from jsonschema>=2.6->nbformat) (23.1.0) Requirement already satisfied: jsonschema-specifications>=2023.03.6 in d:\anaconda\lib\site-packages (from jsonschema>=2.6->nbformat) (2023.7.1) Requirement already satisfied: referencing>=0.28.4 in d:\anaconda\lib\site-packages (from jsonschema>=2.6->nbformat) (0.30.2) Requirement already satisfied: rpds-py>=0.7.1 in d:\anaconda\lib\site-packages (from jsonschema>=2.6->nbformat) (0.10.6) Requirement already satisfied: platformdirs>=2.5 in d:\anaconda\lib\site-packages (from jupyter-core->nbformat) (3.10.0) Requirement already satisfied: pywin32>=300 in d:\anaconda\lib\site-packages (from jupyter-core->nbformat) (305.1) Requirement already satisfied: jupyter-client>=6.1.12 in d:\anaconda\lib\site-packages (from nbclient>=0.5.0->nbconvert) (8.6.0) Requirement already satisfied: soupsieve>1.2 in d:\anaconda\lib\site-packages (from beautifulsoup4->nbconvert) (2.5) Requirement already satisfied: python-dateutil>=2.8.2 in d:\anaconda\lib\site-packages (from jupyter-client>=6.1.12->nbclient>=0.5.0->nbconvert) (2.9.0.post0) Requirement already satisfied: pyzmq>=23.0 in d:\anaconda\lib\site-packages (from jupyter-client>=6.1.12->nbclient>=0.5.0->nbconvert) (25.1.2) Requirement already satisfied: tornado>=6.2 in d:\anaconda\lib\site-packages (from jupyter-client>=6.1.12->nbclient>=0.5.0->nbconvert) (6.4.1) Note: you may need to restart the kernel to use updated packages.
In [1]:
import nbformat
import pandas as pd
from nbconvert import HTMLExporter, PDFExporter
from nbconvert.preprocessors import ExecutePreprocessor
import os
# Load the notebook
notebook_filename = r'C:\Users\pradu\Downloads\Defense Infrastructure and Geopolitical Tension Monitoring (3).ipynb'
with open(notebook_filename, encoding='utf-8') as f:
nb = nbformat.read(f, as_version=4)
# Execute the notebook (if needed)
ep = ExecutePreprocessor(timeout=600, kernel_name='python3')
ep.preprocess(nb, {'metadata': {'path': './'}})
# Extract code cells and markdown cells
code_cells = []
markdown_cells = []
for cell in nb.cells:
if cell.cell_type == 'code':
code_cells.append(cell.source)
elif cell.cell_type == 'markdown':
markdown_cells.append(cell.source)
# Create a detailed report as a DataFrame
report_data = {
'Cell Type': ['Markdown' if cell.cell_type == 'markdown' else 'Code' for cell in nb.cells],
'Content': [cell.source for cell in nb.cells]
}
report_df = pd.DataFrame(report_data)
# Display the report DataFrame
print(report_df)
D:\Anaconda\Lib\site-packages\zmq\_future.py:693: RuntimeWarning: Proactor event loop does not implement add_reader family of methods required for zmq. Registering an additional selector thread for add_reader support via tornado. Use `asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy())` to avoid this warning. self._get_loop()
Cell Type Content 0 Markdown # Install necessary libraries\n 1 Code !pip install pandas numpy matplotlib seaborn s... 2 Markdown # Import Libraries 3 Code pip install folium 4 Code import pandas as pd\nimport numpy as np\nimpor... .. ... ... 126 Code import folium\n\n# Create a Folium map object ... 127 Markdown # Create Heatmap of Tension by Base Status 128 Code import seaborn as sns\n\n# Create Heatmap\nhea... 129 Markdown # Generate Real-Time Data CSV File 130 Code [131 rows x 2 columns]
In [2]:
# Save the report as a CSV file
csv_filename = 'E:/Detailed_Report.csv'
report_df.to_csv(csv_filename, index=False)
print(f"Report saved as CSV to {csv_filename}")
Report saved as CSV to E:/Detailed_Report.csv
In [3]:
pip install pdfkit wkhtmltopdf asyncio weasyprint
Requirement already satisfied: pdfkit in d:\anaconda\lib\site-packages (1.0.0)
Requirement already satisfied: wkhtmltopdf in d:\anaconda\lib\site-packages (0.2)
Requirement already satisfied: asyncio in d:\anaconda\lib\site-packages (3.4.3)
Collecting weasyprint
Downloading weasyprint-62.3-py3-none-any.whl.metadata (3.7 kB)
Collecting pydyf>=0.10.0 (from weasyprint)
Downloading pydyf-0.11.0-py3-none-any.whl.metadata (2.5 kB)
Requirement already satisfied: cffi>=0.6 in d:\anaconda\lib\site-packages (from weasyprint) (1.16.0)
Collecting html5lib>=1.1 (from weasyprint)
Downloading html5lib-1.1-py2.py3-none-any.whl.metadata (16 kB)
Collecting tinycss2>=1.3.0 (from weasyprint)
Downloading tinycss2-1.3.0-py3-none-any.whl.metadata (3.0 kB)
Collecting cssselect2>=0.1 (from weasyprint)
Downloading cssselect2-0.7.0-py3-none-any.whl.metadata (2.9 kB)
Collecting Pyphen>=0.9.1 (from weasyprint)
Downloading pyphen-0.16.0-py3-none-any.whl.metadata (3.2 kB)
Requirement already satisfied: Pillow>=9.1.0 in d:\anaconda\lib\site-packages (from weasyprint) (10.3.0)
Requirement already satisfied: fonttools>=4.0.0 in d:\anaconda\lib\site-packages (from fonttools[woff]>=4.0.0->weasyprint) (4.51.0)
Requirement already satisfied: pycparser in d:\anaconda\lib\site-packages (from cffi>=0.6->weasyprint) (2.21)
Requirement already satisfied: webencodings in d:\anaconda\lib\site-packages (from cssselect2>=0.1->weasyprint) (0.5.1)
Collecting zopfli>=0.1.4 (from fonttools[woff]>=4.0.0->weasyprint)
Downloading zopfli-0.2.3-cp312-cp312-win_amd64.whl.metadata (3.0 kB)
Requirement already satisfied: brotli>=1.0.1 in d:\anaconda\lib\site-packages (from fonttools[woff]>=4.0.0->weasyprint) (1.0.9)
Requirement already satisfied: six>=1.9 in d:\anaconda\lib\site-packages (from html5lib>=1.1->weasyprint) (1.16.0)
Downloading weasyprint-62.3-py3-none-any.whl (289 kB)
---------------------------------------- 0.0/289.3 kB ? eta -:--:--
- -------------------------------------- 10.2/289.3 kB ? eta -:--:--
----------- --------------------------- 81.9/289.3 kB 762.6 kB/s eta 0:00:01
-------------- ----------------------- 112.6/289.3 kB 819.2 kB/s eta 0:00:01
--------------------- ---------------- 163.8/289.3 kB 817.0 kB/s eta 0:00:01
--------------------------------------- 286.7/289.3 kB 1.3 MB/s eta 0:00:01
---------------------------------------- 289.3/289.3 kB 1.2 MB/s eta 0:00:00
Downloading cssselect2-0.7.0-py3-none-any.whl (15 kB)
Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB)
---------------------------------------- 0.0/112.2 kB ? eta -:--:--
---------------------------------------- 112.2/112.2 kB 6.4 MB/s eta 0:00:00
Downloading pydyf-0.11.0-py3-none-any.whl (8.1 kB)
Downloading pyphen-0.16.0-py3-none-any.whl (2.1 MB)
---------------------------------------- 0.0/2.1 MB ? eta -:--:--
---- ----------------------------------- 0.2/2.1 MB 14.1 MB/s eta 0:00:01
---------- ----------------------------- 0.5/2.1 MB 6.7 MB/s eta 0:00:01
----------------- ---------------------- 0.9/2.1 MB 6.4 MB/s eta 0:00:01
------------------------------ --------- 1.6/2.1 MB 8.3 MB/s eta 0:00:01
--------------------------------------- 2.1/2.1 MB 9.4 MB/s eta 0:00:01
---------------------------------------- 2.1/2.1 MB 7.8 MB/s eta 0:00:00
Downloading tinycss2-1.3.0-py3-none-any.whl (22 kB)
Downloading zopfli-0.2.3-cp312-cp312-win_amd64.whl (97 kB)
---------------------------------------- 0.0/97.8 kB ? eta -:--:--
---------------------------------------- 97.8/97.8 kB 5.5 MB/s eta 0:00:00
Installing collected packages: zopfli, tinycss2, Pyphen, pydyf, html5lib, cssselect2, weasyprint
Attempting uninstall: tinycss2
Found existing installation: tinycss2 1.2.1
Uninstalling tinycss2-1.2.1:
Successfully uninstalled tinycss2-1.2.1
Successfully installed Pyphen-0.16.0 cssselect2-0.7.0 html5lib-1.1 pydyf-0.11.0 tinycss2-1.3.0 weasyprint-62.3 zopfli-0.2.3
Note: you may need to restart the kernel to use updated packages.
In [4]:
import asyncio
import nbformat
import pandas as pd
from nbconvert import HTMLExporter, PDFExporter
from nbconvert.preprocessors import ExecutePreprocessor
import os
# Workaround for the Proactor event loop warning
if os.name == 'nt': # Check if the operating system is Windows
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
# Load the notebook
notebook_filename = r'C:\Users\pradu\Downloads\Defense Infrastructure and Geopolitical Tension Monitoring (3).ipynb'
with open(notebook_filename, encoding='utf-8') as f:
nb = nbformat.read(f, as_version=4)
# Execute the notebook (if needed)
ep = ExecutePreprocessor(timeout=600, kernel_name='python3')
ep.preprocess(nb, {'metadata': {'path': './'}})
# Extract code cells and markdown cells
code_cells = []
markdown_cells = []
for cell in nb.cells:
if cell.cell_type == 'code':
code_cells.append(cell.source)
elif cell.cell_type == 'markdown':
markdown_cells.append(cell.source)
# Create a detailed report as a DataFrame
report_data = {
'Cell Type': ['Markdown' if cell.cell_type == 'markdown' else 'Code' for cell in nb.cells],
'Content': [cell.source for cell in nb.cells]
}
report_df = pd.DataFrame(report_data)
# Display the report DataFrame
print(report_df)
# Convert the notebook to HTML
html_exporter = HTMLExporter()
html_exporter.template_name = 'classic'
(body, resources) = html_exporter.from_notebook_node(nb)
# Save the HTML to a file
html_filename = r'E:/Defence_Infrastructure_and_Geopolitical_Tension_Monitoring_Detailed_Report.html'
with open(html_filename, 'w', encoding='utf-8') as f:
f.write(body)
# Convert the HTML file to PDF using WeasyPrint
from weasyprint import HTML
pdf_filename = r'E:/Defence_Infrastructure_and_Geopolitical_Tension_Monitoring_Detailed_Report.pdf'
HTML(html_filename).write_pdf(pdf_filename)
print(f"Report downloaded as PDF to {pdf_filename}")
Cell Type Content 0 Markdown # Install necessary libraries\n 1 Code !pip install pandas numpy matplotlib seaborn s... 2 Markdown # Import Libraries 3 Code pip install folium 4 Code import pandas as pd\nimport numpy as np\nimpor... .. ... ... 126 Code import folium\n\n# Create a Folium map object ... 127 Markdown # Create Heatmap of Tension by Base Status 128 Code import seaborn as sns\n\n# Create Heatmap\nhea... 129 Markdown # Generate Real-Time Data CSV File 130 Code [131 rows x 2 columns] ----- WeasyPrint could not import some external libraries. Please carefully follow the installation steps before reporting an issue: https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#installation https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#troubleshooting -----
--------------------------------------------------------------------------- OSError Traceback (most recent call last) Cell In[4], line 51 48 f.write(body) 50 # Convert the HTML file to PDF using WeasyPrint ---> 51 from weasyprint import HTML 53 pdf_filename = r'E:/Defence_Infrastructure_and_Geopolitical_Tension_Monitoring_Detailed_Report.pdf' 54 HTML(html_filename).write_pdf(pdf_filename) File D:\Anaconda\Lib\site-packages\weasyprint\__init__.py:419 416 yield 'string', string, base_url, None 418 # Work around circular imports. --> 419 from .css import preprocess_stylesheet # noqa: I001, E402 420 from .html import ( # noqa: E402 421 HTML5_UA_COUNTER_STYLE, HTML5_UA_STYLESHEET, HTML5_UA_FORM_STYLESHEET, 422 HTML5_PH_STYLESHEET) 423 from .document import Document, Page File D:\Anaconda\Lib\site-packages\weasyprint\css\__init__.py:28 26 from ..urls import URLFetchingError, get_url_attribute, url_join 27 from . import counters, media_queries ---> 28 from .computed_values import COMPUTER_FUNCTIONS 29 from .properties import INHERITED, INITIAL_NOT_COMPUTED, INITIAL_VALUES, ZERO_PIXELS 30 from .validation import preprocess_declarations File D:\Anaconda\Lib\site-packages\weasyprint\css\computed_values.py:9 6 from tinycss2.color3 import parse_color 8 from ..logger import LOGGER ----> 9 from ..text.ffi import ffi, pango, units_to_double 10 from ..text.line_break import Layout, first_line_metrics 11 from ..urls import get_link_attribute File D:\Anaconda\Lib\site-packages\weasyprint\text\ffi.py:431 428 with suppress((OSError, FileNotFoundError)): 429 os.add_dll_directory(dll_directory) --> 431 gobject = _dlopen( 432 ffi, 'gobject-2.0-0', 'gobject-2.0', 'libgobject-2.0-0', 433 'libgobject-2.0.so.0', 'libgobject-2.0.dylib', 'libgobject-2.0-0.dll') 434 pango = _dlopen( 435 ffi, 'pango-1.0-0', 'pango-1.0', 'libpango-1.0-0', 'libpango-1.0.so.0', 436 'libpango-1.0.dylib', 'libpango-1.0-0.dll') 437 harfbuzz = _dlopen( 438 ffi, 'harfbuzz', 'harfbuzz-0.0', 'libharfbuzz-0', 439 'libharfbuzz.so.0', 'libharfbuzz.so.0', 'libharfbuzz.0.dylib', 440 'libharfbuzz-0.dll') File D:\Anaconda\Lib\site-packages\weasyprint\text\ffi.py:420, in _dlopen(ffi, *names) 410 # Re-raise the exception. 411 print( 412 '\n-----\n\n' 413 'WeasyPrint could not import some external libraries. Please ' (...) 418 'first_steps.html#troubleshooting', 419 '\n\n-----\n') # pragma: no cover --> 420 return ffi.dlopen(names[0]) File D:\Anaconda\Lib\site-packages\cffi\api.py:150, in FFI.dlopen(self, name, flags) 147 raise TypeError("dlopen(name): name must be a file name, None, " 148 "or an already-opened 'void *' handle") 149 with self._lock: --> 150 lib, function_cache = _make_ffi_library(self, name, flags) 151 self._function_caches.append(function_cache) 152 self._libraries.append(lib) File D:\Anaconda\Lib\site-packages\cffi\api.py:832, in _make_ffi_library(ffi, libname, flags) 830 def _make_ffi_library(ffi, libname, flags): 831 backend = ffi._backend --> 832 backendlib = _load_backend_lib(backend, libname, flags) 833 # 834 def accessor_function(name): File D:\Anaconda\Lib\site-packages\cffi\api.py:827, in _load_backend_lib(backend, name, flags) 825 if first_error is not None: 826 msg = "%s. Additionally, %s" % (first_error, msg) --> 827 raise OSError(msg) 828 return backend.load_library(path, flags) OSError: cannot load library 'gobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0'
In [ ]: